は、Object#freeze
オブジェクトにさらなる修正を防止する、がある:Rubyでオブジェクトを解凍する方法は? Rubyで
class Kingdom
attr_accessor :weather_conditions
end
arendelle = Kingdom.new
arendelle.frozen? # => false
arendelle.weather_conditions = 'in deep, deep, deep, deep snow'
arendelle.freeze
arendelle.frozen? # => true
arendelle.weather_conditions = 'sun is shining'
# !> RuntimeError: can't modify frozen Kingdom
script = 'Do you want to build a snowman?'.freeze
script[/snowman/] = 'castle of ice'
# !> RuntimeError: can't modify frozen String
しかし、Object#unfreeze
がありません。凍った王国を解凍する方法はありますか?
Rubyの内部でうんざりするのは危険です。あなたはあなたの答えにそれを述べるべきです。 – Stefan
@Stefan、私は最初の段落でそれを言いました。私はそれが自明であると考えます。 – ndn
私はそれが「危険」であるとは考えていません。それは完璧にうまくいっているので、私はndnと同意します。彼は非常に詳細な説明も提供していたので、多くのアップフォートがあるという驚きはありませんでした。 – shevy