From: matz@... (Yukihiro Matsumoto) Date: 1997-08-16T00:59:38+09:00 Subject: [ruby-dev:141] Re: meta programming features まつもと ゆきひろです In message "[ruby-dev:133] Re: meta programming features" on 97/08/15, 石塚圭樹 writes: |けいじゅ@日本ラショナルです. |となりますね... Foo.foo, Bar.fooがFooのメタクラスのコンテキストで定義 |されたので定数が参照できていただけですね... というか,静的なスコープで囲む定数にもアクセスできるからじゃ ないですかね. |確かに | | eval "def func ..." | |と | | foo.eval "def func..." | |では, だいぶ雰囲気が違う... でしょ.名前からして違うものとした方が良いのかもしれませんね. |eval "def foo.func..."で特異メソッドの定義はできるので, 少なくとも, す |でにそういう名前の特異メソッドが定義されているかどうかを判断するメソッ |ドは欲しいかなあ.. Class#instance_methodsで調べるとかでは駄目? |>|そうですか. それでは, さらに, MPF-APIのリクエストをします: |> |>なんか,これらは美しくない(趣味に合わない)ので,ちょっと検討 |>してみます. | |そうですか... そんなに趣味が悪かったですか... やはり特異クラスを強く意識しすぎているのが気に入らないみたい です.まあ,typeも特異クラスを返さなくなりましたし,モデルと してはclass << objは「オブジェクトの特異状態を操作するための (一時的な)仮想的なクラスを参照できるようにしている.特異クラ スは存在しない」と考えていて下さい. |objの特異クラスはobjのシングルトンクラスになっているというイメージは間 |違っているんですね... まあ,ある意味本来シングルトンであるべきものを無理矢理取り出 して操作しているわけですから,イメージ狂ってくるのは仕方がな いですね.でも,禁止する程でもないと思うのですが. |こうなってくると特異クラスって何だろう? って思いはじめてきました... 特 |異クラスはあまり見せない方が良いのかも知れませんね... ですね.すくなくともtypeでは見せないようにしました. まつもと ゆきひろ /:|)