0

我是 Ruby 新手,很抱歉这个 Noobie 问题

#file1.rb

a = 1



#file2.rb

require './file1'

a ||= 2

puts a # show 2, not 1 as expected

我不知道为什么

4

2 回答 2

3

a在 file1 中是 file1 的本地文件。它在 file2 中不可见。行为是正确的。

您可以使用实例变量使变量在其他文件中可见。

#file1.rb

@a = 1


#file2.rb

require './file1'

@a ||= 2

puts @a # >> 1
于 2013-02-26T03:12:16.983 回答
1

尝试改用@a(实例变量)。a正如你所拥有的,它是一个局部变量,不能以这种方式访问​​。

于 2013-02-26T03:13:02.870 回答