批准rails中一个对象的类类型

时间:2010-07-26 19:31:44

标签: ruby-on-rails ruby

我有一个关于rails语法的简单问题:

如何找出对象属于哪个类?

我尝试做一些像:

if class(object) == MyClass

由于 Maechi

2 个答案:

答案 0 :(得分:22)

你可以做到

if object.class == MyClass

if object.is_a?(MyClass)

如果objectMyClass的子类的实例,后者也会返回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