在Ruby中动态命名数组/哈希

时间:2011-08-15 11:39:11

标签: javascript ruby variables dynamic naming

所以我有一个for循环,根据传入的内容创建一个哈希或数组。

我需要创建这些数组和哈希,其名称基于传入的内容。

大致相同
window['MyNewArray-' + i] = [];

在javascript中。 Ruby有没有相同的东西?

4 个答案:

答案 0 :(得分:4)

您可以执行以下操作:

window = {}
5.times do |i|
  window["my_new_array_#{i}"]=[]
end

答案 1 :(得分:2)

同样的代码也适用于Ruby,也做同样的事情。

答案 2 :(得分:2)

您可以使用以下方法创建Ruby哈希:

h = {}

然后使用store[]=运算符添加键/值对。

像这样:

h["foo_#{i}"] = []

Documentation

答案 3 :(得分:1)

window = Hash[1.upto(5).map { |n| ["name-#{i}", []] }]