Rubyリファレンス: Home

take_while (Array)

Edit   History

Ruby 1.8.7 Ruby 1.9

標準クラス・モジュール > Array > take_while

array.take_while {|item| block }

take_whileメソッドは、ブロックの戻り値が真である要素を配列の先頭から取り出し、新しい配列に入れて返します。ブロック引数itemに要素を入れながら、ブロックの戻り値が真である間はブロックを繰り返します。ブロックが偽を返すと繰り返しを中断して、それより前の要素からなる配列を作成します。

次の例では、50未満の要素を先頭から取り出しています。後ろのほうに50未満の要素があっても、新しい配列には加わりません。

numbers = [12, 25, 31, 55, 47, 28, 9]
p numbers.take_while {|item| item < 50 }
[12, 25, 31]

関連項目