From: Shigeo Kobayashi Date: 1999-12-25T00:28:57+09:00 Subject: [ruby-dev:8721] Re: initialization & super 小林です。 ----- Original Message ----- 送信者 : Minero Aoki 件名 : [ruby-dev:8720] Re: initialization & super > あおきです。 こんばんわ、よろしくお願い致します。 > > md5init.c の例というのは md5_clone() のことだと思いますが、 はい。 > これは MD5#clone の定義ですから、 > 引数の self は MD5 クラスのインスタンスです。 > Data_Wrap... で欲しいのはクラスオブジェクト MD5 ですから、 > 必要なのは CLASS_OF(self) です。 > > 一方、sdbm の例というのは fsdbm_s_open のことだと思いますが、 はい、そうです。 > これは SDBM.open の定義ですから、 > 引数の klass(=self) はクラスオブジェクト SDBM です。 つまり、このとき(open | new)のklassは、インスタンスではない ということですね? 私は、selfはnewで作成されたインスタンスだと思っていました。 > このとき欲しいのはクラスオブジェクト SDBM ですから、必要なのは > klass そのままです。( CLASS_OF(klass)はオブジェクト Class ) > > 小林さんの BigFloat の場合だと、定義しているのは BigFloat.new > ですから、self はクラスオブジェクト BigFloat です。 > つまり、self そのままが正解です。 いつもながら、本当に色々な方から直ちに、しかも適切に回答が 頂けるので、ありがたいやら、穴があったら入りたいやらです。 暗中模索のなか、やっと「次の仕事にRubyを使用する。」と大きな 顔で宣言できそうです(あ、勘違いしないでください。回りの人間は 殆どRubyの経験が無いので、分からないことがあれば「私に聞け」 と言えそうだという事です (^^;; )。そんなわけで、多分今後も登場 するとは思いますが、よろしくお付き合いください。 ありがとうございました。 小林 茂雄 E-Mail: shigeo@tinyforest.gr.jp Home Page: http://www.tinyforest.gr.jp