所以我有一個for循環多數民衆贊成取決於什麼傳遞創建散列或數組。動態命名陣列/散列在Ruby中
我需要創建這些陣列和基於在什麼被傳遞名稱哈希。
其大致相同
window['MyNewArray-' + i] = [];
在javascript中。有沒有Ruby的等價物?
所以我有一個for循環多數民衆贊成取決於什麼傳遞創建散列或數組。動態命名陣列/散列在Ruby中
我需要創建這些陣列和基於在什麼被傳遞名稱哈希。
其大致相同
window['MyNewArray-' + i] = [];
在javascript中。有沒有Ruby的等價物?
你可以這樣做:
window = {}
5.times do |i|
window["my_new_array_#{i}"]=[]
end
我很確定他想要實際變量而不是名爲'window'的對象(這是JavaScript中的全局範圍)。 – ThiefMaster
這相同的代碼不工作在Ruby中,也和做同樣的事情。
只有數字應該轉換成字符串'window ['MyNewArray-'+ i.to_s] = [];' – fl00r
@ fl00r:啊,是的,沒錯。慣用的方法是使用字符串插值:'window [「MyNewArray - #{i}」] = []'。 –
window = Hash[1.upto(5).map { |n| ["name-#{i}", []] }]
如果你需要創建動態的名字你的代碼是最有可能打破變量。考慮將這些元素放入一個數組/類似字符的容器中。 – ThiefMaster
因爲我有嵌套數組,並希望將它們提升一個級別。所以,而不是說容器[0] [0] Id喜歡有一堆頂層數組訪問。事實上它是一種必需品。我不會做普通的事情。 – OVERTONE