配列名の Ruby 変数補間
概要
似た名前の配列がいくつかあり、配列名をループする必要があります。
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、およびその他のいくつかを試しましたが、成功しませんでした。
ありがとう
解決策
# Initialize a hash
levels = {}
# Initialize your arrays
(1..5).each do |x|
levels["level_#{x}_foo"] = []
end
# Now you can access your arrays like this
(1..5).each do |x|
levels["level_#{x}_foo"] << 'some-value'
end