假设我有以下脚本。
脚本1.rb
x=1
Run Code Online (Sandbox Code Playgroud)
脚本2.rb
# Something like: import script1
y=2
puts x+y
Run Code Online (Sandbox Code Playgroud)
是否可以“合并”这些脚本,即以某种方式“导入” script1.rb 到 script2.rb 中,以便运行 script2.rb 会打印“3”?
我已经尝试过类似的语句require_relative,load但结果是:
b.rb:4:in
<main>': undefined local variable or methodx' for main:Object (NameError)
是的:
require_relative 'yourOtherFile'
Run Code Online (Sandbox Code Playgroud)
你不需要.rb在最后加上钉子。中的“相对”部分require_relative意味着“在我所在的同一文件夹中查找其他文件”
如果您想在文件 B 中访问文件 A 中的一个变量,则必须将其设为全局变量 ( $x = 5)。这可以工作,但不是组织代码的好方法(因为它造成了全局范围被许多不同变量污染的环境。
您应该将代码组织成类:
class Planet
@@x = 0
def self.doStuffToX
@xx += 4
end
def self.getX
@@x
end
end
Run Code Online (Sandbox Code Playgroud)
您可以请求此文件,然后使用Plant.getX和Plant.doStuffToX来访问和更改x.
| 归档时间: |
|
| 查看次数: |
1285 次 |
| 最近记录: |