數組列表如何轉換此陣:創建一個從Ruby的
@list = ["one", "two", "three", "four"]
到像這樣的鑰匙一個新的數組前綴:
@new_list = ["1. one", "2. two", "3. three", "4. four"]
使用Ruby的each
和inject
?
數組列表如何轉換此陣:創建一個從Ruby的
@list = ["one", "two", "three", "four"]
到像這樣的鑰匙一個新的數組前綴:
@new_list = ["1. one", "2. two", "3. three", "4. four"]
使用Ruby的each
和inject
?
收集/地圖是更自然的方法。
@new_list = @list.map.with_index {|item, index| "#{index+1}. #{item}"}
紅寶石1.9,你可以鏈統計員這樣
謝謝...似乎工作。 –
在1.9.2中(也許全部是1.9),你也可以用'@list.collect.with_index {...}',它看起來更清晰:) – Rym
我同意。另外,FWIW最好使用'map'別名,原因有三個:它的輸入較少,使用更頻繁,並且與其他語言中的映射/縮減術語相匹配。 –
爲什麼我們要使用的要求注入的?我可以看到'inject'或'each',但不是兩者。這是功課嗎? –
這也是非常有用的,特別是對你來說,回答[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) –