まつもと ゆきひろです
In message "[ruby-list:10480] Re: case with Class"
on 98/10/30, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:
|ごとけんです
|とわ言うものの別の制御ってのも大げさに思えるので、
|case でやるなら Class#=== は、こんな感じでしょうか??
|
|class Class
| def === (klass)
| klass.ancestors.include? self
| end
|end
既に[ruby-list:10483]で説明しましたが,
class Class
def === (obj)
obj.kind_of? self
end
end
って定義になってます.ですから,「クラス同士の比較」ではなく,
「クラスとオブジェクトの比較」を行って下さい.具体的にはtype
を取ると言うこと.
まつもと ゆきひろ /:|)