このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.1 リファレンスマニュアル

instance method Array#filter!

select! {|item| block } -> self | nilRuby 1.9.3 から[permalink][rdoc][edit]
select! -> EnumeratorRuby 1.9.3 から
filter! {|item| block } -> self | nilRuby 2.6.0 から
filter! -> EnumeratorRuby 2.6.0 から

ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。変更があった場合は self を、変更がなかった場合には nil を返します。

a = %w{ a b c d e f }
p a.select! {|v| v =~ /[a-z]/ } # => nil
p a # => ["a", "b", "c", "d", "e", "f"]

ブロックが与えられなかった場合は、自身と select! から生成した Enumerator オブジェクトを返します。

[SEE_ALSO] Array#keep_if, Array#reject!