Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
foo.to_yamlを使用してクラスFooのオブジェクトを保存しました。ここで、初期化メソッドでデフォルト値が0に設定されたインスタンス変数をFooクラスに追加しました。yamlファイルからオブジェクトを読み込もうとすると、インスタンス変数がnilに設定されます。
yamlファイルにそのインスタンス変数の値が含まれていない場合に0に設定する方法はありますか?
ディスクからロードされた後にオブジェクトで呼び出されるコールバックメソッドはありますか?
その変数のリーダーメソッドを次のように作成できます
def your_instance_variable return "default" unless @your_instance_variable @your_instance_variable end
PS私は少し前にオブジェクトのシリアル化でいくつかのタスクを行っていましたが、AFAIK Marshal.dump/loadははるかに高速でした