Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Hashクラス > compact

instance method Hash#compact

compact -> Hash[permalink][rdoc]
compact! -> self | nil

compact は自身から value が nil のもの取り除いた Hash を生成して返します。 compact! は自身から破壊的に value が nil のものを取り除き、変更が行われた場合は self を、そうでなければ nil を返します。

hash = {a: 1, b: nil, c: 3}
p hash.compact  #=> {:a=>1, :c=>3}
p hash          #=> {:a=>1, :b=>nil, :c=>3}
hash.compact!
hash            #=> {:a=>1, :c=>3}
p hash.compact! #=>  nil

[SEE_ALSO] Array#compact