[#4754] Now,I am starting ruby. — mamoru@... (Mamoru Matushita)

先日、初めて投稿したつもりだったのですが間違えて

14 messages 1997/10/02

[#4891] mixin - singleton method inheritance, const etc... — shugo@... (Shugo Maeda)

前田です。

13 messages 1997/10/10

[#5000] ruby 1.0-971015 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

14 messages 1997/10/15

[#5056] RubyでOODB — hisanori@...

松尾です。

20 messages 1997/10/20
[#5057] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[#5065] Re: RubyでOODB — hisanori@... 1997/10/20

松尾です。

[#5066] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[ruby-list:4950] Re: mixin - singleton method inheritance, const etc...

From: Shugo Maeda <shugo@...>
Date: 1997-10-14 04:17:20 UTC
List: ruby-list #4950
前田です。

>|あ、でも同じ定義かどうかを調べることはできるんでしょうか?
>
>rubyのレベルでは無理ですね.Cのレベルでは不可能は無いですけ
>ど,それはあんまり望ましくないですよね.

なるほどCレベルでは一応可能なのですね。

>|同じ定義で二つのメソッドを作れるのってモジュール関数だけですよね。
>
>alias? 違うクラスに定義するのはないですね.

そうか、aliasがありましたね。
でもFoo#fooというメソッドがあったとしてaliasでFoo.fooを定義するのは
たぶん無理ですよね。
ということはCレベルではモジュール関数は判別できるのでモジュール関数
の時は継承しない、ということもできると思うのですがだめでしょうか。
# といいつつ素直にextendを使った方がいいような気もしてきました。

>AttrInitMixinの定数にHash{クラス=>Hash{名前=>初期値}}を格納
>するってのはどうです?

なるほど。
前の方法でもそうなのですが、AttrInitMixinをインクルードしたクラスを
サブクラスを作ると扱いが面倒ですね。ハッシュを共有しないと、スー
パークラスのインスタンス変数の初期化さされませんし、共有するとスー
パークラスの初期化でサブクラスのインスタンス変数まで初期化されて
しまいますし...。
根本的に考え方を変えなきゃいけないのかな。

前田 修吾

In This Thread