キーが数字で値が配列のハッシュを持っています。数字boundary
が与えられたら、私はハッシュの中でboundary
より大きいすべてのキーを調整したいと思います。"反復中に新しいキーをハッシュに追加できません"
私はこれを試してみました:
header_info_hash.each do |k, v|
if boundary < k
val = header_info_hash[k]
header_info_hash.delete(k)
header_info_hash[k-1] = val
end
end
が、それはエラーが発生します。
RuntimeError: can't add a new key into hash during iteration
これを行うための簡単な方法は何ですか?私はこのデータ構造を新しいものに変更するのではなく、このデータ構造を変更したいと思います。
「すべてのキーを調整する」という言葉はまったく明確ではありません。 – sawa
私はそれを逃した。私は実際にあなたがなぜそれを取り除いたのだろうと思っていました。それを取り除いた。 – sawa
@sawa:非常に同じタグの説明は、私たちが '[ruby-hash]'を使うことを示唆しています。 –