rubyのオブジェクトがシンボルかどうかを判定する方法

オブジェクトがシンボル型かどうかを判定するには、シンボルかを判定する方法 – わからんによると、こうすればいいらしい。

もちろん、他にも色々とシンボルかどうかを判定する書き方はあるものの、この書き方が一番直感的で短くて、分かりやすいよねという話。

 

ところで、先ほど紹介した書き方は、左辺と右辺を逆にすると、シンボル判定はできない。

 

理由はこういうこと。

 

つまり、

とした場合には、Moduleクラスで定義されているModule#===メソッドで比較され、

とした場合には、Objectクラスで定義されているObject#===メソッドで比較されるために結果が異なるということになる。

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=2537