Enumerable#partitionでブロックの評価が真と偽の要素に分ける٩( ‘ω’ )و
いままでブロックで評価して真のものはselectで、それ以外はrejectとか2回やってた...
でも、これ1回でできたらおしゃれですよねー
そんなときはEnumerable#partition
こんなかんじ( ˘ω˘)
array = ["cat", 1, 2, "dog", 0.1] numbers, non_numbers = array.partition { |v| v.is_a?(Numeric) } numbers #=> [1, 2, 0.1] non_numbers #=> ["cat", "dog"]
Happy Hacking٩( ‘ω’ )و