Rubyでは、String
またはArray
(その他の)オブジェクトが「フリーズ」するのはどういう意味ですか?どのように/このプロパティが設定または変更されていますか?Rubyのフリーズされたオブジェクト
5
A
答えて
7
これは変更できないことを意味します。あなたはfreeze
メソッドで設定します。
s = "a"
concat
は、文字列インスタンスを変更します。
s.concat("b")
# => "ab"
あなたは文字列をフリーズ
は:s.freeze
、その後、あなたはそれ以上concat
を適用することはできません。
s + "c"
# => "abc"
2
がobjにさらに変更を防止:
s.concat("c")
# => RuntimeError: can't modify frozen String
ただし、受信機を変更しない方法を適用することができます。変更が試行されるとRuntimeErrorが発生します。フリーズしたオブジェクトをアンフリーズする方法はありません。 Object#frozen?も参照してください。
a = [ "a", "b", "c" ]
a.freeze
a << "z"
は生成します。
prog.rb:3:in `<<': can't modify frozen array (RuntimeError)
from prog.rb:3
関連する問題
- 1. フリーズされたオブジェクトのメソッドをメモにする
- 2. マーシャルされたRubyオブジェクトMIMEタイプ?
- 3. Datagridviewフリーズされたヘッダー行
- 4. rspecのRuby 1.9.1は "フリーズしたオブジェクトを修正できません"
- 5. フリーズされたウィンドウフォームアプリケーションとチェックボックスc#
- 6. テンソルフロー: "フリーズしたオブジェクトを突然変異させる"、bazel
- 7. オブジェクトがフリーズした後に新しいプロパティが追加された場合にエラーがスローされる
- 8. Rubyのプリコンパイルされたライブラリ
- 9. cx_freezeフリーズされたpythonプログラムは実行されません。
- 10. rubyでオブジェクト(クラス)で作成されたオブジェクト(クラス)を作成するには?
- 11. フリーズした親オブジェクトから新しいオブジェクトを作成する
- 12. 参照されたオブジェクトのツリーを使用したクエリ結果 - Ruby on Rails
- 13. Qtフリーズされた列(2つのテーブルのテキストストレッチ)
- 14. フリーズされたアプリケーションを防ぐためにファイルをコピーする
- 15. オブジェクトのディープコピーRuby
- 16. APIから返されたRuby XMLRPC datetimeの値を通常のRuby DateTimeオブジェクトに比較する
- 17. フォームが提出された後の角度js-ウェブページがフリーズ
- 18. jQueryフリーズされた通知バー付きのDIvヘッダー
- 19. 次のフレームでフリーズされたビデオフレームHTML5ビデオ
- 20. omniauthモデルの生成がフリーズされました
- 21. スクロール可能なテーブル、フリーズされた最初の列、CSS、Joomla
- 22. フリーズしたオブジェクトの表示を変更しますか?
- 23. Rubyの追加、ネストされたコントローラ/リソース
- 24. ネストされたフォームのフィルタ - Ruby on Rails
- 25. BSONオブジェクトの定義されていないメソッド - Ruby on Rails
- 26. WPFフリーズBitmapImageが表示されない
- 27. Rubyオブジェクトの操作
- 28. オブジェクトのRubyアクセス 'key'?
- 29. Ruby:オブジェクトの関係
- 30. オブジェクトのRuby配列