數組一直是我用過的每種語言中的墮落,但我處於一種需要在Rails中創建多個項目的動態數組的情況(注意 - 這些都與模型無關)。在Ruby on Rails中創建一個包含多個值的簡單數組
簡而言之,數組中的每個元素都應該包含3個值 - 一個詞,一種語言,一種翻譯成英語。例如,這裏有我想要做什麼:
myArray = Array.new
然後我想一些值推到陣列(注意 - 實際內容是從其他地方取 - 雖然不是一個模型 - 和意志需要通過一個循環以復加,而不是硬編碼的,因爲它是在這裏):
myArray[0] = [["bonjour"], ["French"], ["hello"]]
myArray[1] = [["goddag"], ["Danish"], ["good day"]]
myArray[2] = [["Stuhl"], ["German"], ["chair"]]
我想創建一個循環列出每個項目在一行上,像這樣:
<ul>
<li>bonjour is French for hello</li>
<li>goddag is Danish for good day</li>
<li>Stuhl is German for chair</li>
</ul>
但是,我很苦惱(a)找出如何將多個值推送到單個數組元素和(b)如何循環顯示結果。
不幸的是,我沒有得到任何進展。我似乎無法計算出如何將多個值推送到單個數組元素中(通常情況是[]括號會包含在輸出中,我顯然不想 - 因此這可能是符號錯誤)。
我應該使用散列嗎?
目前,我有三個獨立的數組,這是我一直在做的,但我並不特別喜歡 - 也就是說,一個數組保存原始單詞,一個數組保存語言,以及一個最終陣列來保存翻譯。雖然它可行,但我相信這是一個更好的方法 - 如果我能解決它!
謝謝!
此外,語法words = []和words = Array.new是等同的。 –
謝謝!這給了我一些線索。然而,不幸的是,內容來自不同的來源 - 沒有像CSV文件那麼整潔!但這是一個開始 - 歡呼! – Graeme
CSV文件只是一個例子。如果你有一個單詞,語言,翻譯的數組,你可以用myArray.push(...)將它推入你的myArray。 –