ハッシュの値がまだ存在しなかったら0を代入し、あったら数を足し込んでいこうと思います。 h = Hash.new if not h[:key] h[:key] = 0 end h[:key] += 123 Hash#key?メソッドを使うべきかしら。 h = Hash.new if not h.key? :key h[:key] = 0 end h[:key] += 123 ハッシュを作るときにHash.new(0)でデフォルト値0を与えておくと「存在しなかったら」というif文が不要になります。 h = Hash.new(0) h[:key] += 123 同じように空の配列をデフォルトにすることも。 h = Hash.new([]) h[:key] << :value ビットパターンも。 h = Hash.new(0) h[:key] |= 0b1011