Array#reject!
nil
と比較して、ブロックがレシーバーのすべての要素に対して評価された場合に戻りますfalse
(これはその場で変更され、この場合は変更されません) Array#reject
。
a=1,2,3
a.reject {false} # => [1, 2, 3]
a.reject! {false} # => nil
これは私にはかなり奇妙に思えます。なぜArray#reject!
そうするように設計されたのですか?Array#reject!
この場合のように振る舞うべきArray#reject
ですか?
select!
、 、reject!
などのメソッドをチェーンできるようにしたいと考えていますmap!
。それを行う方法はありますか?