From: Kazuo Saito Date: 2003-10-15T00:26:46+09:00 Subject: [ruby-list:38559] Re: ruby-dev summary 21531-21607 (draft) 斉藤です。 コメントをくださった皆さん、ありがとうございます。 早速反映してみました。 > 読み違えてるかも知れませんが、「aliasが追加されたメソッドでは」 > という意味でしょうか。問題にされてるのは「aliasされた名前で呼び > 出されたとき」ではないかと思うんですが。 おっしゃるとおりです。"alias が追加されたメソッド中" と 書きたかったんですが、それじゃ元の名前で呼んでも同じですよね(笑)。 "In the method called with an alias name" にしてみましたが、 いかがでしょう。ウザいかな。 > まとめると、何もしないと書き出されますが、ユーザがカスタムの > marshal_dump/marshal_loadペアを定義すると、ivarとextendは > 書き出されないため、ユーザが自分の責任で書き出すなり警告 > するなりしないといけません。 取り違えてました。助かります。上記を参考に書き換えてみました。 > "original marshal_dump"というのが > ちょっとわかりにくい気がしますが、どうでしょう。 すぎむしさんの修正で " his/her original marshal_dump" に なったので、これがいいかな、と思っていますけど、そういう わかりにくさではないかしら。 > この[ExtendMarshal]の除外はmisleadingな気がしますが、 > あんまり後から手を入れるのもよくないかな。 確かにここは引用に悩みましたが、個人的に summary では元記事を そのまま使いたいので、そのままでいきたいと思います。 > あと一点、前回のruby-dev summaryで、 : > というのがありますが、これはこのあと元に戻ったので、説明があったほうが > 混乱が少ないかもしれません。 上記引用の後にあった文を参考に、 「使うならソースを見て確認してね」とだけ、冒頭へ簡単に 足してみました。 > 自分でまとめつつ訳してみました。 いやあ、ありがとうございます。一箇所だけ、完全に好みの 問題ですが、"rough module for new libraries" を "rough module" として呼び方を変えた以外、一通りそのまま いただきました。 #あと、あまりに私のカチカチな書き方と違う流暢さなので、 #書いた人がわかるよう、一言だけ御礼を足しました。 以下が、最初の draft にいただいた全指摘を反映した版です。 長いので、今回は最後のコード例を省いてあります。 明日 20:00 くらいまでに更に意見を頂けるなら、反映できる分だけ 反映して、22:00 くらいには出します。もし大幅な変更が要る場合は その部分の掲載は見送って修正しておき、次回の当番(高橋さん)に 一緒に入れてもらおうと思います。というのも、 > ruby-eng MLには毎週、青木さんサイトからreminderが流れる この次回分 reminder が明後日の 18:00 に流れるので、 これ以前に出さないと、なんだかちょっと悲しいからです(笑)。 =begin [ruby-dev:21531] O_ACCMODE Tanaka Akira added a constant Fcntl::O_ACCMODE defined in POSIX fcntl.h to ext/fcntl module. [ruby-dev:21538] rb_frame_last_func for alias method In the method called with an alias name, rb_frame_last_func() returns an ID of the alias name in 1.8.0 release. In 1.6.0, it returns an ID of the original name. Kazuhiro Yoshida asked how to get original name ID. Matz recommended to include "env.h" and get the ID from ruby_frame->orig_func. [ruby-dev:21543] Enumerator (Thanks knu for writing this summary) Akinori MUSHA asks again if there is any objection to adding Enumerator to the standard distribution, which was once nominated before the 1.8.0 release. None is raised. Koji Arai suggests adding more libraries from the "rough" module so people start to try them out. They discuss the issue on and agree that it would be fine to include and develop new libraries in the development branch of ruby, because the main ruby module is much more exposed, popular and appealing than the "rough" module. The branch is meant to be the best test bed. MUSHA, on the other hand, notes that once a new library is added to a stable version of ruby, developers must be careful not to break backward compatibility on that branch and they should keep distributing it stand-alone for users that use old releases. He also points out that in order to make the "rough" module work better as a farm for (really) rough rubies, we should try to get people to know about it and provide a handy installer to make it easier for them to try it out. [ruby-dev:21590] extend with marshal_dump/marshal_load Note: Currently, these method's implementation is being heavily changed. Check the source first if you try to use them. It may be different from our summary. NAKAMURA, Hiroshi and Matz is talking about keeping 'extend' information of marshaled object. It is dumped by default, but when each user defines his/her original marshal_dump and marshal_load, the default behavior is ignored so s/he is responsible for supporting the information by themselves. Matz showed us in [ruby-dev:21593] an example how to dump and load such objects correctly. In following example, objects of class Quux can be dumped and loaded. Note that class Foo and Bar does not needed to concern about marshaling 'extend' information. This example is already applied some patches by NaHi in [ruby-dev:21595] to original one: ---- (example) ---- =end -- Kazuo Saito