まくまくRubyノート
条件を満たす要素と満たさない要素の配列に分割する (partition)
2011-11-04

Array クラスの下記のメソッドを使用すると、指定した条件に一致するかしないかで、配列を分割することができます。

Array#partition {|x| ...}  =>  [arr1, arr2]

例: 1〜10までの数を 2 で割り切れる数と、割り切れない数の配列に分解

arr = (1..10).to_a
a1, a2 = arr.partition {|x| x % 2 == 0}    # => [[2, 4, 6, 8, 10], [1, 3 ,5, 7, 9]]
p a1    # => [2, 4, 6, 8, 10]
p a2    # => [1, 3, 5, 7, 9]
2011-11-04