Ruby Tips!

RubyのTipsを紹介します

ハッシュの要素を削除する3つの方法

キーを指定した削除

ハッシュからあるキーの要素を削除するにはHash#deleteを使う。

hash = {a:123, b:234, c:345}
hash.delete(:b)
p hash #=> {:a=>123, :c=>345}

条件を指定した削除

ハッシュから条件を満たす要素をすべて削除するにはHash#delete_ifHash#rejectを使う。キーと値が順にブロックに与えられ、ブロックの評価結果が真になった要素が削除される。

hash = {a:123, b:234, c:345}
hash.delete_if{|k, v|
  v % 2 == 1 # 値が奇数の要素を削除
}
p hash #=> {:b=>234}

全要素の削除

ハッシュから全要素を削除するにはHash#clearを使う。

hash = {a:123, b:234, c:345}
hash.clear()
p hash #=> {}