From: Takeshi Horinouchi Date: 2003-08-11T14:54:24+09:00 Subject: [ruby-list:38074] Re: module extendable? 堀之内です。「したいこと」に関し、ちょっと補足します。 > モジュールをネストして module_function を継承(のようなことを) > することはできるでしょうか。具体的には、モジュールに入れたアルゴ > リズム(メソッド群)を取り替えやすくするため、以下のようなことを > したいのですが、うまくいきません。使用しているのは ruby 1.6.8 で > す。同様のことをするのに別の方法があるよとか、1.6 ではだめだけど .... > class Hoge > @@algorithm = Foo > def Hoge.set_algorithm(modul) > @@algorithm = modul > end > def hi; p @@algorithm::hi + '!'; end > def there; p @@algorithm::there + '!'; end > end 実際には、アルゴリズム依存にしたいのはコンストラクター (initialize メソッド)です。また、アルゴリズムを保持するのは インスタンス変数で構いません。(というか、そうしないとまずそ う)