Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > setライブラリ > Setクラス > delete_if
delete_if {|o| ... } -> self
[permalink][rdoc]reject! {|o| ... } -> self | nil
集合の各要素に対してブロックを実行し、その結果が真であるようなすべての 要素を削除します。
delete_if は常に self を返します。
reject! は、要素が 1 つ以上削除されれば self を、1 つも削除されなければ nil を返します。
s1 = Set['hello.rb', 'test.rb', 'hello.rb.bak'] s1.delete_if {|str| str =~ /\.bak$/} p s1 #=> #<Set: {"test.rb", "hello.rb"}> s2 = Set['hello.rb', 'test.rb', 'hello.rb.bak'] p s2.reject! {|str| str =~ /\.bak$/} #=> #<Set: {"test.rb", "hello.rb"}> p s2.reject! {|str| str =~ /\.o$/} #=> nil
[SEE_ALSO] Enumerable#reject