具有非连续指数的数组的多重赋值

时间:2013-03-10 03:33:39

标签: ruby arrays

Ruby新手在这里。如何将多个元素分配给索引不连续的数组?我有一个长度为1000的数组,我想要为索引30,40,50 ... 90分配字符串["thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety"]。我这样做的尝试是这样的:

tableWords = Array.new(1000)
tableWords[(30..90).step(10).to_a] = ["thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety"]

我不认为Ruby中的数组赋值是这样的,但我无法弄清楚如何去做。谷歌搜索只告诉我当范围是连续的时,如何进行多个数组赋值,例如1,2,3,4,... 30。

谢谢。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

indices = ["thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety"]    
(30..90).step(10).each_with_index {|a, i| tableWords[a] = indices[i]}