我有一个关于rails语法的简单问题:
如何找出对象属于哪个类?
我尝试做一些像:
if class(object) == MyClass
由于 Maechi
答案 0 :(得分:22)
你可以做到
if object.class == MyClass
或
if object.is_a?(MyClass)
如果object
是MyClass
的子类的实例,后者也会返回true。
答案 1 :(得分:9)
object.is_a?(MyClass)
object.kind_of?(MyClass)
如果class是obj的类,或者class是obj中包含的obj或模块的超类之一,则返回true。别名为“
object.instance_of?(MyClass)
object.class == MyClass
如果obj是给定类的实例,则返回true。
MyClass === object
与is_a?
方法相同。对于像
case object
when MyClass
when OtherClass
…
end