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


Ruby Array.take_while用法及代碼示例


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 當我們在沒有任何塊的情況下調用或調用它時正在返回一個枚舉數。



相關用法


注:本文由純淨天空篩選整理自 Array.take_while Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。