当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Array.drop_while用法及代码示例


Ruby Array.drop_while 方法

在上一篇文章中,我们研究了 Array.select 和 Array.reject 方法,它们根据特定条件向用户提供输出。方法 Array.drop_while 也是一种非破坏性方法。

方法说明:

Array.drop_while 方法的用法原理类似于循环。作为方法,它本身包含"while"这个词,这让我们认为这个方法与while循环有关。操作与while循环正好相反。虽然,while 循环在处理事物时一直工作,直到条件没有被篡改,Array.drop_while 方法会丢弃或删除元素,直到它找不到块内指定的元素为止。如果在方法块内定义的 Array 实例中找不到元素,它将打印每个元素。如果指定的元素位于 Array 实例的两个元素之间,那么它将从最大的一个开始打印。在这种情况下,此方法不会通过异常。它只是删除元素,直到找不到定义的元素。

用法:

    Array.drop_while{|var| #condition}

参数:此方法不接受任何参数,而是在块内需要布尔条件。

范例1:

=begin
    Ruby program to demonstrate Array.drop_while
=end

# array declaration
num = [1,2,3,4,5,6,7,8,9,10,23,11,33,55,66,12]

# user input
puts "Enter the element after which you want to see the result"
lm = gets.chomp.to_i

flag = false
num.each {|nm|
if nm == lm
	flag = true
end
}
if flag == true
    puts "Elements after #{lm} are:"
    puts num.drop_while { |a| a < lm }
else
	puts "Element not found"
end

输出

Enter the element after which you want to see the result
5
Elements after 5 are:
5
6
7
8
9
10
23
11
33
55
66
12

说明:

在上面的代码中,可以看到这个方法需要一个有序的元素数组。它打印了位于元素 10 之后的所有元素。在这里,首先,我们在 Array.each 的帮助下检查了该元素是否存在于 Array 中,然后我们进行了进一步的处理。

范例2:

=begin
    Ruby program to demonstrate Array.drop_while
=end

# array declaration
num = [1,2,3,4,5,6,7,8,9,10,23,11,33,55,66,12]

print num.drop_while{|a|}

输出

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 23, 11, 33, 55, 66, 12]

说明:

在上面的代码中,您可以观察到,当您没有在方法中指定任何条件时,它会打印 Array 对象的每个元素。



相关用法


注:本文由纯净天空筛选整理自 Array.drop_while Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。