gpt4 book ai didi

ruby -::运算符在 Ruby 中如何工作?

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:13 26 4
gpt4 key购买 nike

我是 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, 4, 3, 2。原因是类和模块的主体只是常规代码(与其他一些语言不同)。因此,这些打印语句将在类/模块被解析时执行。

至于 :: 的工作原理——它只是让您在范围内移动。 ::A 将引用主作用域中的 A。仅 A 将引用当前作用域中的 AA::B 将引用 B,即在 A 内,即在当前范围内。

关于ruby -::运算符在 Ruby 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32037768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com