Q
红宝石模块声明
6
A
回答
7
做[...]有什么区别吗?
唯一的区别是,在class Bus::Driver
的Bus
模块必须来已经定义,而同样并不代表第二。
哪种语法是首选的?
这不是一个建设性的问题,但我个人更喜欢第二个,因为它规定明确表示Bus
是一个模块,而与第一,我不能在第一眼看到如果Bus
是一个模块或一个类。
3
这一点,对自己:
class Bus::Driver
end
将导致在某些时候,你有一个错误NameError: uninitialized constant Bus
所以申报class Bus
或module Bus
。不过,每次都不必是完整的层次结构。
我倾向于提前设置命名空间,然后在其余文件中使用更简洁的形式。我不知道有任何首选的方法 - 绝对没有你会被批评的。
1
当您在项目中的多个文件中分布不同类型的模块时,首选语法;并提供module
始终在PATH
中定义。比如,在制作gem
时。
其次更为中心,应该在细节方面完成。 module
不仅包括class
,还包括methods
和constants
等;这是有用的。
相关问题
- 1. 红宝石:多个模块声明
- 2. 红宝石除非&&声明
- 3. 红宝石类声明
- 4. 红宝石Postgresl组声明
- 5. 红宝石模块
- 6. 红宝石模块包括
- 7. 检测模块红宝石
- 8. 如何红宝石模块
- 9. 红宝石:模块问题
- 10. 红宝石模块优化
- 11. NoMethodError红宝石模块
- 12. 红宝石书写模块
- 13. 红宝石:从声明OBJ实例
- 14. 如果在红宝石声明
- 15. 优化红宝石检测声明
- 16. 红宝石 - IF,除非声明
- 17. 如何获得红宝石2.0模块#prepend在红宝石1.8?
- 18. 区块红宝石
- 19. 红宝石传递块块
- 20. 红宝石块和块
- 21. 声音库的红宝石
- 22. 红宝石:打开模块的单
- 23. 红宝石自我在模块
- 24. 红宝石:使用模块包括
- 25. 红宝石嵌套类和模块
- 26. 红宝石:模块A对类A :: B
- 27. 红宝石模块和扩展自我
- 28. 红宝石模块方法访问
- 29. 不能要求红宝石模块
- 30. 红宝石模块和类混乱