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

Mar*_*kus 9 ruby ruby-on-rails

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

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

我尝试做一些像:

if class(object) == MyClass
Run Code Online (Sandbox Code Playgroud)

谢谢Maechi

sep*_*p2k 22

你可以做

if object.class == MyClass
Run Code Online (Sandbox Code Playgroud)

要么

if object.is_a?(MyClass)
Run Code Online (Sandbox Code Playgroud)

如果object是子类的实例,后者也返回true MyClass.


tig*_*tig 10

object.is_a?(MyClass)
object.kind_of?(MyClass)
Run Code Online (Sandbox Code Playgroud)

Returns true if class is the class of obj, or if class is one of the superclasses of obj or modules included in obj. Aliased as ``


object.instance_of?(MyClass)
object.class == MyClass
Run Code Online (Sandbox Code Playgroud)

Returns true if obj is an instance of the given class.


MyClass === object
Run Code Online (Sandbox Code Playgroud)

Identical to is_a? method. Useful for case statements like

case object
when MyClass
when OtherClass
…
end
Run Code Online (Sandbox Code Playgroud)