【Ruby3.x】Hash::reject!()メソッドの使い方
reject!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
reject!メソッドは、呼び出し元のハッシュオブジェクトから、指定された条件に合致するキーと値のペアを破壊的に削除するメソッドです。このメソッドは、引数として渡されたブロックをハッシュの各キーと値のペアに対して実行します。ブロックが真(true)を返したペアは、ハッシュから取り除かれます。「破壊的」とは、元のハッシュオブジェクト自体が変更されることを意味します。
もし、ブロックが常に偽(false)を返し、結果としてどのペアも削除されなかった場合、このメソッドはnilを返します。しかし、一つでもペアが削除された場合は、変更されたハッシュオブジェクト自身を返します。この機能は、特定の条件を満たすデータをハッシュから効率的にフィルタリングし、その結果で元のハッシュを更新したい場合に非常に便利です。例えば、値が特定の基準を満たさないエントリや、キーが特定のパターンに一致するエントリを一括で排除する際に使用します。元のハッシュを変更したくない場合は、破壊的ではないrejectメソッドを使用してください。
構文(syntax)
1hash.reject! { |key, value| condition }
引数(parameters)
引数なし
引数はありません
戻り値(return)
Hash, nil, Enumerator
指定された条件に合致しない要素が削除されたハッシュ、または何も削除されなかった場合にnilを返します。要素が削除されなかった場合、またはブロックが渡されなかった場合はEnumeratorを返します。