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.
YAML.load_file を使用するときに、Ruby に初期化メソッドを強制的に呼び出すことは可能ですか? シリアル化しないインスタンス変数の値を提供するために、メソッドを呼び出したいと思います。コードを別のメソッドに分解して、YAML.load_file を呼び出した後にそのメソッドを呼び出すことができることはわかっていますが、この問題を処理するためのより洗練された方法があるかどうか疑問に思っていました。
私はあなたができるとは思わない。追加するコードは逆シリアル化されるクラスに固有のものであるため、クラスに機能を追加することを検討する必要があります。たとえば、Fooデシリアライズするクラスを次のようなクラス メソッドに追加できます。
Foo
class Foo def self.from_yaml( yaml ) foo = YAML::load( yaml ) # edit the foo object here foo end end myFoo = Foo.from_yaml( "myFoo.yaml" )