object.class == String
object.class === String
私は最初に最初のものを使用し、==
正常に機能していましたが、このサイトでは===
.
このように使用した場合の違いは何ですか?
さらに別の方法があります:
a = "foo"
a.is_a?(String)
ノート
a = "foo"
a.kind_of?(String)
kind_of?
is_a?
同じように動作します。instance_of?
がクラスのインスタンスであり、サブクラスを考慮していない場合にのみtrueを返します。
例
10.class
#=> Fixnum
10.is_a?(Integer)
#=> true
10.kind_of?(Integer)
#=> true
10.instance_of?(Integer)
#=> false