::运算符如何在Ruby中工作?
发布时间:2020-12-17 03:18:16 所属栏目:百科 来源:网络整理
导读:我是 Ruby的新手,我对::运算符感到困惑.为什么以下代码输出2,3,4,5,1而不仅仅输出1?谢谢! class C a = 5 module M a = 4 module N a = 3 class D a = 2 def show_a a = 1 puts a end puts a end puts a end puts a end puts aendd = C::M::N::D.newd.show_
我是
Ruby的新手,我对::运算符感到困惑.为什么以下代码输出2,3,4,5,1而不仅仅输出1?谢谢!
class C a = 5 module M a = 4 module N a = 3 class D a = 2 def show_a a = 1 puts a end puts a end puts a end puts a end puts a end d = C::M::N::D.new d.show_a 解决方法
如果删除最后一行,您将看到将获得5,2.原因是类和模块的主体只是常规代码(与其他语言不同).因此,在解析类/模块时将执行这些print语句.
至于如何::工作 – 它只是让你在范围内移动. :: A将引用主范围中的A.只是A将在当前范围内引用A. A :: B将引用位于A内部的B,它位于当前范围内. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |