Ruby 初心者スレッド Part 58 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0597デフォルトの名無しさん
2016/07/29(金) 19:32:20.85ID:jkc14IDKif value%2 == 0
nums[:key] = value
end
まずこれはeach doに対してendが無いからエラーになる
そして:keyはkeyではなく:keyというSymbolなのでこれも間違い
nums = {:a=>1, :b=>2, :c=>3, :d=>4, :e=>5, :key=>1}
nums[:b] = 2
p nums #=> {:a=>1, :b=>2, :c=>3, :d=>4, :e=>5, :key=>1}
飽くまで:bに対して2を再び関連付けているだけなので間違い
どうしても上のような書き方がしたいなら
h = Hash.new
nums.each do |key, value|
if value%2 == 0
h[key] = value
end
end
p h #=> {:b=>2, :d=>4} 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
■ このスレッドは過去ログ倉庫に格納されています