Arrays Ruby迭代器直到方法编号数组
我的目标是以3个空数组结束,命名如下Arrays Ruby迭代器直到方法编号数组,arrays,ruby,iterator,Arrays,Ruby,Iterator,我的目标是以3个空数组结束,命名如下 1.upto(3) do |n| arr"#{n}" = Array.new end 如何使此代码工作?您正在尝试动态创建局部变量。这是个坏主意,也不容易,不可能实现 正如已经有人建议的那样,使用数据结构来存储。您正在有效地创建阵列,为什么不使用阵列来存储它: arr1 = [] arr2 = [] arr3 = [] 你为什么不使用二维数组或以n值作为键的散列呢?@guitarman我太傻了,不明白你刚才说的“也不容易实现”应该被理解为“不可能”
1.upto(3) do |n|
arr"#{n}" = Array.new
end
如何使此代码工作?您正在尝试动态创建局部变量。这是个坏主意,也不容易,不可能实现 正如已经有人建议的那样,使用数据结构来存储。您正在有效地创建阵列,为什么不使用阵列来存储它:
arr1 = []
arr2 = []
arr3 = []
你为什么不使用二维数组或以
n
值作为键的散列呢?@guitarman我太傻了,不明白你刚才说的“也不容易实现”应该被理解为“不可能”。另外还有一个绑定的"局部变量"集
,它所做的并不完全符合建议,也没有办法将局部变量从一个上下文传播到另一个上下文。根据记录,局部变量可以在Ruby v1.8中创建(使用geval
),但不能在更高版本中创建。
arr = []
1.upto(3) do |n|
arr << Array.new
end
arr = {}
1.upto(3) do |n|
arr[n] = Array.new
end