Ruby 1.92 在 Object 中新增了 singleton_class, 返回一个类的 自我类
的实例。
这的确太好了,省却了我等之前先得 打开eigenclass, 然后返回self
的麻烦。
不过我注意到:singleton_class
并未有eigen_class
别名,而后面这个名字,则是 Matz 本人在双飞燕上一直宣称的更好名称。事实上,我查阅了 Ruby1.92 API, 甚至没有发现一个包含eigen
英文的方法,说实在的,也许因为先读了双飞燕
的缘故吧,挺喜欢eigen_class
这个德文单词的。
看来英文社区的力量是强大的。(看镐头书就知道,其中一直用 singleton_class 而非 eigen_class)
我估计很多人对于 singleton class 和 eigen class 肯定有些混淆,这个帖子权当澄清吧。
(注意:以上内容和 Desion Pattern 中的 singleton class 是两码事,好吧,如果你更糊涂,我也无语了... 慢慢来吧。)