我是Ruby的新手,抱歉这个Noobie问题
#file1.rb
a = 1
#file2.rb
require './file1'
a ||= 2
puts a # show 2, not 1 as expected
我无法弄明白为什么
答案 0 :(得分:3)
a
是file1的本地。它在file2中不可见。行为是正确的。
您可以使用实例变量使变量在其他文件中可见。
#file1.rb
@a = 1
#file2.rb
require './file1'
@a ||= 2
puts @a # >> 1
答案 1 :(得分:1)
尝试使用@a
(实例变量)。 a
因为你有它是一个局部变量,不能以这种方式访问。