我习惯在IPython中执行以下操作:
run foo
它将加载文件foo.py.然后,文件中定义的每个变量都在范围内。现在我正在学习Ruby。我有一个hello.rb文件,它只有以下内容:
puts "Hello"
x = 1
当我用irb加载
时load './hello.rb'
终端在屏幕上打印" Hello"。但我不能使用变量x。
我该怎么做?
感谢。
答案 0 :(得分:0)
在Ruby中,您无法访问所需文件中定义的局部变量。在irb文件中,局部变量超出范围。
您可以采取一些措施来解决这个问题:
定义常量:
#hello.rb
module SharedConst
X = 1
end
puts "Hello"
#in irb
puts SharedConst::X
# => 1
定义实例变量
#hello.rb
puts "Hello"
@x = 1
#in irb
@x
# => 1