- 491 名前:デフォルトの名無しさん mailto:sage [2022/02/16(水) 12:21:54.58 ID:Nuw/c3FA0.net]
- Ruby でも、入れ物と各要素は別。
shallow copy と同じ。動的言語は全てそう。 deep copy, deep freeze などは、誰かが作る必要がある 入れ物をフリーズしても、各要素は変更できる ary = %w(a b).freeze ary[ 0 ].upcase! p ary #=> ["A", "b"] だから、入れ物と各要素の両方を、フリーズする必要がある ary_2 = %w(x y).map( &:freeze ).freeze ary_2[ 0 ].upcase! #=> エラー。変更できない!
|

|