Rubyリファレンス: Home

take_while (Enumerable)

Edit   History

Ruby 1.8.7 Ruby 1.9

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

enum.take_while {|item| block }

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

次の例は、文字列の中で空行が現れるまで行を集めます。

str = <<END
ruby
object-oriented

scripting
language
END
p str.lines.drop_while {|line| !line.chomp.empty? }
["ruby\n", "object-oriented\n"]

関連項目