2012年4月 7日

[ruby-list:48685] Re: klass とMarshal.load(Marshal.dump klass) が同じにならない

まつもと ゆきひろです

In message "Re: [ruby-list:48683] klass と Marshal.load(Marshal.dump klass) が同じにならない"
on Fri, 6 Apr 2012 20:55:04 +0900, dezawa <dezawa@xxxxx> writes:

|1: このgenerator をrdoc で使えるようにするにはどうしたら良いでしょう
|  rdoc.rb 内でrequire すれば使えることは分かるのですが、
|  それですと rdoc.rb を書き直すか cp して専用を作るかしないと。

|  rdocやrdoc.rb自体に手を入れずに、例えば
| rdoc -r generator/latex
| のように行う方法はないでしょうか。
|
|2: リファクタ中に思わぬトラブルがあって調べていて気がついたのですが
| klass と RDoc::RI::Store#save_class klass 内で作っている
|     marshal = Marshal.dump klass
| を Marshal.load marshal したものと内容が変わります。
| klass == Marshal.load(Marshal.dump klass)
| これは trueなのですが、ppした中身がちがいます。

正直なところ情報が少なくてなんともいいがたいのですが、
Marshalはクラスやモジュールは中身をコピーするのではなく名前で
参照します。ですから、同じプロセスでこの2つが違うというのは
あまり考えにくいのですが。object_idとかでこの2つが本当に同
じものか確認していただけませんか?


投稿者 xml-rpc : 2012年4月 7日 12:03
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/109386
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。