まつもと ゆきひろです.
In message "[ruby-list:2043] Re: [Req] no-name module (Re: [Request] static var?)"
on 97/02/04, sinara / blade.nagaokaut.ac.jp <sinara / blade.nagaokaut.ac.jp> writes:
|原です。
|その通りですね。要望しておいてこう言うのもなんですが。^^;
|ま、便利なこともあるので、責任とって(?)しばらく使ってみ
|ます。
なんかやっぱり良くないようにも思えます.
でも,まあ作った責任上すくなくとも今回は含めておきます.
|ユーザーが Kernel を include する事はないのに Kernel という名
|前があるわけですよね。確かに複数のメソッドをまとめておいて名
|前をつける事には意味があると思います。しかしこの無名モジュール
|の include を使って、全て Object に込めてしまう手もあるかと。
これは難しい問題をはらんでいます.というのもrubyのクラスシス
テムのあり方を変えちゃうからです.知っている人は知っています
が,松本は「継承システム」について結構こだわっています.
# fj.comp.oops参照
これを結果的に変えることになる提案はちょっと受け入れにくいで
すね.現在rubyの実装には特異メソッドを実装するため「名前なし
のクラス」が存在していますが,rubyからはその存在が一切みえな
いようになっています(少なくともそのはずです).ここに「名前の
ないクラス」を導入しようとすると,クラスシステムとして結構ちゃ
んと設計しないといけないように思いますが,そこまでの必要はな
いように思えるからです.
# 名前がついていないだけっていう問題だけかも知れないし,そう
# ではないかも知れない.
んで,さっきextendを良くないように思うといったのは,現在みえ
ないはずの「名前なしクラス」をうやむやのうちに見せているから
です.どうせ導入するなら「名前なしクラス」を含むクラスシステ
ム全体を設計してから,導入したいですね.
まつもと ゆきひろ /:|)