當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。