2009-09-18 43 views
0

如何从其对象中提取类的名称?从其对象中类的名称

例如我有一个@list对象,我知道它肯定是List类的一个实例。但是,如何直接在代码中提取?

回答

4

这种信息是相当基本的Ruby编程。答案是:

object.class 

额外的提示下一次:尝试在the core library documentation找到这个信息你自己。你知道你有某种对象,只要开始阅读文档,你会发现一些方法来满足你的需求。有关可以在对象上执行的方法的信息可以在here找到。

1

如果你想测试一个特定的类的实例,我喜欢的东西去:

@list.is_a?(List) 
+0

这一个是不完全正确的,因为is_a?对于所有祖先类也都返回true,所以'@ list.is_a?(Object)'也会返回true – Eimantas 2009-09-18 18:50:10

+0

这是什么问题?如果你有一个List,它会返回true。如果你有一个List的子类,它也会返回true。在任何一种情况下似乎都适用。 – 2009-09-20 18:20:08

0

像埃德温说,object.class会给你相应的类的对象。如果您只想要课程的名称,请使用object.class.name