【发布时间】:2010-09-25 12:19:59
【问题描述】:
假设我有一个名为 test1.rb 的文件,代码如下:
my_array = [1, 2, 3, 4 5]
然后我运行 irb 并得到一个 irb 提示符并运行“require 'test1'。此时我希望能够访问 my_array。但如果我尝试执行类似...
puts my_array
irb 告诉我“my_array”未定义。有没有办法访问“my_array”
【问题讨论】:
假设我有一个名为 test1.rb 的文件,代码如下:
my_array = [1, 2, 3, 4 5]
然后我运行 irb 并得到一个 irb 提示符并运行“require 'test1'。此时我希望能够访问 my_array。但如果我尝试执行类似...
puts my_array
irb 告诉我“my_array”未定义。有没有办法访问“my_array”
【问题讨论】:
像这样:
def my_array
[1, 2, 3, 4, 5]
end
【讨论】:
您还可以要求您的脚本并通过其他几种方式访问该数据。一个局部变量是不能访问的,但是这三种数据类型可以在作用域内访问,类似于方法定义。
MY_ARRAY = [1, 2, 3, 4 5] #constant
@my_array = [1, 2, 3, 4 5] #instance variable
@@my_array = [1, 2, 3, 4 5] #class variable
def my_array # method definition
[1, 2, 3, 4 5]
end
【讨论】:
不,没有。局部变量在定义它们的范围内总是局部的。这就是为什么它们被称为局部变量,毕竟。
【讨论】:
【讨论】: