1

Object#to_yaml_propertiesは、シリアル化プロセス全体を再実装することなく、YAML にシリアル化するインスタンス変数を一覧表示するために使用できる方法です。特定のインスタンス変数を除外したい場合は、使用superして、不要なものを除外できます。

を呼び出すときに特定の変数のみをリストできる同等のメソッドはありますかObject#inspect、それともメソッド全体を再実装する必要がありますか?

4

1 に答える 1

1

バニラRubyにはそのようなメカニズムはありません。

プラス面としては、それを実装してから、の再定義に使用できますMyClass#inspect。クラスごとにすべての作業を行う必要はありません。検査を設定できるクラスレベルのメソッドを作成するだけです。

または、独自のインスタンス変数を追加してObject#limited_inspect再定義Kernel#p(または独自のショートカットを追加)して、除外される可能性のあるものを除いたすべてのインスタンス変数を使用することもできます。

于 2011-03-01T06:17:15.027 に答える