我有一些名称相似的数组,我需要循环遍历数组名称:
level_1_foo
level_2_foo
level_3_foo
level_4_foo
level_5_foo
我想做类似以下的事情,其中
x
是数组名称中数字的值:
(1..5).each do |x|
level_x_foo << some-value
end
这可以做到吗? 我尝试过
"level_#{x}_foo"
、level_+x+_foo
和其他一些方法,但没有成功。
谢谢
一种方法是使用
binding.local_variable_get
: 检索数组
(1..5).each do |x|
binding.local_variable_get("level_#{x}_foo") << some-value
end
您也可以使用
eval
来完成此操作,但上述方法最大限度地减少了动态评估的代码。