Ruby 单件类的疑问

bajiudongfeng · 发布于 2017年03月08日 · 最后由 bajiudongfeng 回复于 2017年03月08日 · 358 次阅读
14935

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

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

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

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

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

谢谢!

共收到 3 条回复
17671

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

De6df3

贴代码,不要截图

可以理解成局部的类


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

14935

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

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