【发布时间】:2018-07-09 19:44:04
【问题描述】:
为什么 Ruby 中“Module”类没有实例方法“protected_class_method”,而“Module”类却存在“public_class_method”和“private_class_method”实例方法?
这不遵循为“模块”类定义的“私有”、“受保护”和“公共”实例方法的模式。
【问题讨论】:
-
“私人”和“公共”之间的区别取决于谁在问,但我不确定 Ruby 的反射功能是否始终正确分类事物。 “受保护”只是“对某些人来说是公开的,对其他人来说是私人的”的一种说法。
-
Matz says, “如果您了解受保护可见性的当前行为,您就会明白为什么 protected_class_method 根本没有用。这就是我们没有它的原因。”
标签: ruby