【Ruby3.x】Set::reject!()メソッドの使い方
reject!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
reject!メソッドは、Setオブジェクトから特定の条件に合致する要素を削除するメソッドです。Setは、重複しない要素の集合を扱うためのクラスです。このreject!メソッドは、Setの各要素を一つずつブロックに渡して評価し、ブロックがtrueを返した要素をSetから削除します。メソッド名の末尾に付いている!が示すように、このメソッドは破壊的な操作を行います。つまり、reject!メソッドを呼び出した元のSetオブジェクト自体が直接変更されます。もしブロックの評価によってSetから一つでも要素が削除された場合、変更後のSetオブジェクト自身が戻り値として返されます。しかし、どの要素もブロックの条件に合致せず、Setから一つも要素が削除されなかった場合はnilが返されます。このメソッドは、Setオブジェクト内のデータから、特定の条件を満たす要素だけを効率的に取り除きたい場合に非常に便利です。
構文(syntax)
1require 'set' 2 3my_set = Set[1, 2, 3, 4, 5] 4my_set.reject! { |element| element.even? }
引数(parameters)
引数なし
引数はありません
戻り値(return)
Set または nil または Enumerator
reject!メソッドは、ブロックの評価結果が真となる要素を集合から削除し、変更された集合を返します。もし1つ以上の要素が削除された場合はその集合を、削除された要素がなかった場合はnilを返します。ブロックが与えられず、かつブロックの評価結果が真となる要素を削除できなかった場合は、Enumeratorを返します。