Array.take_while 方法
在本文中,我們將研究 Array.take_while 方法。你們一定認為該方法必須做一些與從 Array 實例中獲取元素或對象相關的事情。它並不像看起來那麽簡單。好吧,我們將在其餘內容中解決這個問題。我們將嘗試借助語法和演示程序代碼來理解它。
方法說明:
此方法是一個公共實例方法,是為 Ruby 庫中的 Array 類定義的。此方法的用法方式是不斷將對象傳遞給塊,直到塊返回 false 或 nil。當塊返回 false 或 nil 時,它停止迭代並返回一個包含所有先前對象的新 Array 實例。如果您沒有提供任何塊或者您在沒有任何塊的情況下調用該方法,則該方法將返回一個枚舉器。
用法:
array_instance.take_while -> Enumerator or array_instance.take_while{|arr| block}-> new_array or nil
所需參數:
此方法不接受任何參數。相反,您將不得不傳遞一個塊。
範例1:
=begin
Ruby program to demonstrate take_while method
=end
# array declaration
table = [2,4,8,10,12,134,160,180,200]
puts "Array take_while implementation"
puts "Enter the maximum limit:"
num = gets.chomp.to_i
rslt = table.take_while{|i|i<num}
puts "The Array instance returned from the method is:#{rslt}"
輸出
Array take_while implementation Enter the maximum limit: 34 The Array instance returned from the method is:[2, 4, 8, 10, 12]
說明:
在上麵的代碼中,您可以觀察到我們在 Array.take_while 方法的幫助下從 Array 實例中獲取元素。我們已經向用戶詢問了最大數字,並且該方法對於所有小於最大數字的整數都返回 true。最後,返回的 Array 對象具有該方法為其返回 true 的所有先前元素。
範例2:
=begin
Ruby program to demonstrate take_while method
=end
# array declaration
table = [1,3,4,6,7,8,19,21,22,24,25,99]
puts "Array take_while implementation"
puts table.take_while
輸出
Array take_while implementation #<Enumerator:0x0000561a367d3718>
說明:
在上麵的代碼中,您可以觀察到方法 Array.take_while 當我們在沒有任何塊的情況下調用或調用它時正在返回一個枚舉數。
相關用法
- Ruby Array.take()用法及代碼示例
- Ruby Array.transpose用法及代碼示例
- Ruby Array.reject用法及代碼示例
- Ruby Array.repeated_permutation()用法及代碼示例
- Ruby Array.index()用法及代碼示例
- Ruby Array.pack()用法及代碼示例
- Ruby Array.rassoc(obj)用法及代碼示例
- Ruby Array.values_at()用法及代碼示例
- Ruby Array.each用法及代碼示例
- Ruby Array.sort用法及代碼示例
- Ruby Array.unshift()用法及代碼示例
- Ruby Array.reverse用法及代碼示例
- Ruby Array.rotate()用法及代碼示例
- Ruby Array.repeated_combination()用法及代碼示例
- Ruby Array.replace()用法及代碼示例
- Ruby Array.drop_while用法及代碼示例
- Ruby Array.sort_by用法及代碼示例
- Ruby Array.shift用法及代碼示例
- Ruby Array.assoc(obj)用法及代碼示例
- Ruby Array.permutation()用法及代碼示例
注:本文由純淨天空篩選整理自 Array.take_while Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。