ごとけんです


In message "[ruby-list:10475] Re: case with Class"
    on 98/10/30, ttate / jaist.ac.jp <ttate / jaist.ac.jp> writes:

>立石です。

>あると便利な場合もあるのですが、場合分けの要素が
>クラスのときだけ別の挙動をするっていうのもなんか
>変な気がするので別の制御構造を定義した方がいいよ
>うな気がします。

とわ言うものの別の制御ってのも大げさに思えるので、
case でやるなら Class#=== は、こんな感じでしょうか??

class Class
  def === (klass)
    klass.ancestors.include? self
  end
end

>if文でやってもそれほど可読性が悪くなるわけでもない
>ですし、、、、、、

実は、ぼくも以前同じことをして case の === は
こうだったらいいのにとは思いました。

-- gotoken