Ruby/インスタンスが任意のクラスのインスタンスかどうか判定する

最終更新: 2009-09-26 (土) 09:08:08 (2856d)

目次 Edit

===演算子(メソッド)を使う Edit

===演算子は他のLLではよくオブジェクトの一致を判定する演算子として用いられるが、Rubyのクラスではこれがオーバーライドされていて

クラス === 何かインスタンス

と書かれた場合「何かのインスタンス」が左辺のクラス由来のものかを判定することになる

ちなみにcase文では内部でこの===メソッドを用いて比較する。
スーパークラスに関してもtrueとなる

p String === "hoge" #=> true
p Object === "hoge" #=> true

参考サイト Edit

コメント Edit


タグ Edit

Tag: Ruby 文法 クラス

リロード   new Edit 凍結 差分 Upload 複製 名前変更   Home Page list Word Search Recent Update バックアップ Referer   Help   最終更新のRSS
Last-modified: 2009-09-26 (土) 09:08:08 (2856d)