Rubyリファレンス: Home

partition (Enumerable)

Edit   History

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

enum.partition {|item| block }

partitionメソッドは、要素を2つの配列に分けます。ブロック引数itemに要素を入れながらブロックを繰り返し実行し、ブロックの戻り値が真になった要素と、偽になった要素をそれぞれ集めます。戻り値は配列の配列[[真の要素...], [偽の要素...]]となります。

次の例は、配列の要素を数値とそれ以外のオブジェクトに分けます。

arr = ["cat", 123, "mouse", 0.99, :dog]
numbers, non_numbers = arr.partition {|item| item.kind_of?(Numeric) }
p numbers
p non_numbers
[123, 0.99]
["cat", "mouse", :dog]

関連項目