![]() |
1
11
这里有四个类对象:
术语:
当您调用derived.class_方法时,ruby遵循“正确的一个然后向上”的规则:首先转到对象的类,然后沿着超类链向上,当找到该方法时停止:
你不认为我完全不知道这些,是吗?这就是我的大脑得到所有这些元juju的地方: Metaprogramming Ruby . 第2部分。 如何使一个“本征类”(又称“单体类”)走出隐藏
此方法将返回任何对象的特征类。现在,上课怎么样?这些也是物体。
注:以上为1.9卢布。在Ruby1.8下运行时,您会得到一个惊喜:
|
![]() |
2
4
为了澄清和纠正我在评论中关于Ruby隐藏/暴露特征类的方式所写的内容,以下是情况: 红宝石1.8:
(1)
也就是说,
(2)
从上面看,
红宝石1.9:
(1)该
(2)
例如
|
![]() |
3
3
此图说明了关系: http://banisterfiend.wordpress.com/2008/11/25/a-complete-ruby-class-diagram/ 此外,这里还有一些其他的文章,可以解释更多的特征分类的复杂性: http://www.klankboomklang.com/2007/10/05/the-metaclass/ http://www.klankboomklang.com/2007/09/21/the-singleton-class/ 这是一个相当困难的解释,你可能不想知道: http://banisterfiend.wordpress.com/2008/10/25/the-secret-life-of-singletons/ |
![]() |
Stilian · 存储库设置中没有Github页面部分 3 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 3 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 3 年前 |
![]() |
johncssjs · 将数组转换为每个元素的嵌套哈希 3 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 3 年前 |