Ruby 单件类的疑问

bajiudongfeng · 2017年03月08日 · 最后由 bajiudongfeng 回复于 2017年03月08日 · 1465 次阅读

最近在看 letter_avatar 这个 gem,看到如下代码有些疑问.

在 class << self end 中定义方法,这个明白是给类 LetterAvatar::Avatar 定义类方法.

可是在里边定义个类 Identity,是什么意思呢?

Identity 和 LetterAvatar::Avatar 又有什么关系呢?

是因为 Identity 的方法只需要在 LetterAvatar::Avatar 类中使用才这样做的吗?

谢谢!

可以把它理解成一个命名空间的作用方便管理仅此而已!

贴代码,不要截图

可以理解成局部的类


然而你不用太在意或学习那个写法,看之前的有几次提交,貌似作者也不是太讲究这些细节

@huacnlee @easonlovewan 尝试了把 Identity 写在 class << self 外边,感觉区别主要还是在作用域方面的. @huacnlee 以后会注意.

需要 登录 后方可回复, 如果你还没有账号请 注册新账号