Joh*_*ley 127
它几乎完全一样.你可以用Object的instance_of?方法:
"a".instance_of? String # => true
"a".instance_of? Object # => false
Run Code Online (Sandbox Code Playgroud)
Ruby也有is_a?和kind_of?方法(这两个是别名,并且工作完全相同),返回的true是超类匹配之一:
"a".is_a? String # => true
"a".is_a? Object # => true
Run Code Online (Sandbox Code Playgroud)
小智 13
kind_of?并且is_a?是同义词.它们是Ruby相当于Java的instanceof.
instance_of?不同之处在于,只有true当对象是该确切类的实例而不是子类时,它才会返回.
看看instance_of?和kind_of?方法.这是文档链接http://ruby-doc.org/core/classes/Object.html#M000372
我已经成功了klass,它返回了类对象.这似乎是Rails特有的.
样品用法:
class Foo
end
Foo.new.klass
# => Foo
Foo.new.klass == Foo
# => true
Foo.new.klass == "Foo"
# => false
Run Code Online (Sandbox Code Playgroud)
还有一种方法可以实现这一点:Object.is_a?它将类对象作为参数,如果self是类的实例或子类的实例,则返回true .
| 归档时间: |
|
| 查看次数: |
63688 次 |
| 最近记录: |