在
ruby中,我开始看到一个非常正常的做法,包括模块和mixins引用为:: ModuleName :: ClassName,在过去它几乎只是ModuleName :: ClassName.
我想在这里得到的是对这种做法最近被看到的原因和不同做法的理解.
有什么不同?
有什么好处(如果先前没有回答这个问题)?
提前感谢您的意见.
解决方法
如果你把::开头指的是全局命名空间,那么你指的是你当前的命名空间.
通常,如果您的类/模块中没有具有相同名称的类/模块,则不需要在开头使用::.
class Customer def to_s "Customer global" end end class Order class Customer def to_s "Customer within order" end end def initialize puts Customer.new puts ::Customer.new end end Order.new
将打印出来
Customer within order Customer global
原文地址:https://www.jb51.cc/ruby/265170.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。