2017-08-14 Ruby のイテレーションされる配列の破壊的変更について Ruby この Ruby コードの出力がわかりますか。 ar = [["a"],["b"]] ar.each do |x| p x ar[1] = 1 end p ar 結果はこうです。 ["a"] 1 [["a"], 1] イテレーションされる配列をブロック内で変更すると、イテレーションがおかしくなります。わかりにくいので、これを前提としたコーディングはしない方が無難かと思われます。