【Ruby3.x】Hash::compact()メソッドの使い方
compactメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
compactメソッドは、レシーバであるHashオブジェクトの中から、値がnilであるキーと値のペア(エントリ)をすべて取り除き、その結果として新しいHashオブジェクトを生成して返すメソッドです。このメソッドは非破壊的であり、元のHashオブジェクトの内容は一切変更されません。compactメソッドを呼び出しても、元のハッシュはnil値のエントリを持ったままの状態を保ち、nil値が取り除かれた新しいハッシュが戻り値として提供されます。
主に、データの前処理やクリーニングの際に活用されます。例えば、外部システムから取得したデータがハッシュ形式で、その中にnil値を持つ不要な情報が含まれている場合に、それらを効率的に除去して整形することができます。これにより、後続の処理でnil値を考慮する必要がなくなるため、コードの記述を簡潔にし、エラー発生のリスクを減らすことが期待できます。
もし、元のHashオブジェクト自体を直接変更し、nil値のエントリを削除したい場合には、破壊的メソッドであるcompact!を使用することができます。どちらのメソッドも、状況に応じて適切に使い分けることで、Rubyのプログラムにおいてハッシュデータをより柔軟かつ安全に扱うことを可能にします。
構文(syntax)
1# Hash#compact メソッドは、値が nil のキーと値のペアをすべて削除した新しいHashを返します。 2# 元のHashは変更されません。 3original_hash = { name: "Alice", age: 30, email: nil, city: "Tokyo" } 4new_hash = original_hash.compact 5# new_hash は { name: "Alice", age: 30, city: "Tokyo" } となります。
引数(parameters)
引数なし
引数はありません
戻り値(return)
Hash
nil値の要素を取り除いた新しいハッシュを返します。