【Ruby3.x】Hash::compact!()メソッドの使い方
compact!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
compact!メソッドは、呼び出されたハッシュ自身から、値がnilであるすべてのキーと値のペアを削除するメソッドです。このメソッドは、ハッシュ内の不要なnil値をクリーンアップし、データ整理を行う際に役立ちます。メソッド名の末尾にある!は、この操作が破壊的であることを示しており、元のハッシュオブジェクト自身が変更されます。したがって、このメソッドを使用する際には、元のハッシュの内容が変わることを十分に理解しておく必要があります。
例えば、h = { a: 1, b: nil, c: 3, d: nil }のようなハッシュに対してh.compact!を実行すると、hは{ a: 1, c: 3 }に更新されます。もしハッシュ内にnil値を持つペアが一つでも存在し、それらが削除された場合、このメソッドは変更後のハッシュ自身を返します。しかし、もしハッシュ内にnil値を持つペアが最初から存在しなかった場合(つまり、何も変更が行われなかった場合)、このメソッドはnilを返します。この戻り値の違いも、プログラムの動作を理解する上で重要な点です。データの整合性を保ちつつ効率的に操作するために、この特性を覚えておくと良いでしょう。
構文(syntax)
1my_hash.compact!
引数(parameters)
引数なし
引数はありません
戻り値(return)
Hash または nil
Hash オブジェクト自身を、nil 値を持つ要素を取り除いた状態で更新し、その更新された Hash オブジェクトを返します。nil 値を持つ要素が一つも取り除かれなかった場合は、nil を返します。