上級 › dup はfreeze状態を引き継がない(clone との違い) › パターン2
dup はfreeze状態を引き継がない(clone との違い)
freezeしたオブジェクトをdupで複製すると、複製後のオブジェクトはfreezeされていない通常の状態になります。
1 original = "token".freeze 2 copy = original._____ ^ 3 copy << "-x" 4 puts copy
main.rb:3:in `<main>': can't modify frozen String: "token" (FrozenError)
空欄を埋めて実行を通す
「複製すれば元の状態がすべて引き継がれるはず」という思い込みは、freeze状態に関してはcloneにだけ当てはまります。
次の問題