gpt4 book ai didi

ruby - 我如何将 "require"放入当前范围?

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:40 25 4
gpt4 key购买 nike

我不是 100% 确定 Ruby 变量范围是如何工作的,而且我在使用 require "path.rb" 语句时遇到了问题。这是导致问题的代码片段:

文件a.rb:

a = {
:hey => "ho"
}

require "path/to/b.rb" # => true

文件 b.rb:

b = "harhar"
a[:test] = b

a.rb 的范围在模块::类中,而不是主要的全局范围,当我尝试访问 中的 a 变量时b.rb 我收到一条错误消息,指出 a 变量不在当前范围内。

我在某处读到关于包含的文件在它们自己的范围内以免发生冲突,如果是这样,解决这个问题的惯例是什么?

最佳答案

顶级局部变量是文件的局部变量。你应该使用实例变量、模块变量、方法、常量或全局变量,而不是使用局部变量——这些在你的程序中的任何地方都是可见的。 (您想使用哪一种取决于手头的具体情况。在某些情况下,每种存储数据的方式都比其他方式更有意义。)

关于ruby - 我如何将 "require"放入当前范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638901/

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