2013-12-23 95 views
1

我是Ruby的新手,正在努力弄清楚循環語法。Ruby - 帶索引和元素的循環

我有這樣的僞代碼,但需要將其轉換爲Ruby的

# array 
search = ["fallacy", "epitome"] 

for (i = 0, i > search.length, i++) { 

    # Get back the result for each search element 
    response[i] = Word.get_definition(search[i]) 

} 

目前,我有以下的Ruby

# create empty response array 
response = [] 

search.each do |element, index| 
    # Get back the result for each search element 
    response(index) = Word.get_definition(element(index)) 
end 
+1

如果你忠實地需要你可以使用索引'search.index(元)'但@limelights解決方案似乎滿足您的需求。 – engineersmnky

回答

3

您可以跳過指數導致的最直接的方式下面

search = ["fallacy", "epitome"] 
search.each do |element| 
    response << Word.get_definition(element) 
end 

<<是的語法糖3210。

您是否閱讀過Array的文檔或完成了任何教程? 我可以爲你建議RubyMonk

3

更rubyish方法:

response = search.map { |word| Word.get_definition word }