【发布时间】:2012-11-12 19:00:45
【问题描述】:
我在 Ruby 中有一个数组,例如 ["dog", "cat", bat"]。如何获得一个数组,其中每个元素都传递给特定方法?例如,如果该方法反转输入字符串,那么我希望得到["god", "tac", "tab"]。我知道迭代元素很容易,将它们传递给方法,然后将结果放入数组中。但是有没有更短的方法?
编辑:我也不想修改原始数组。
【问题讨论】:
-
map不会修改原始数组
我在 Ruby 中有一个数组,例如 ["dog", "cat", bat"]。如何获得一个数组,其中每个元素都传递给特定方法?例如,如果该方法反转输入字符串,那么我希望得到["god", "tac", "tab"]。我知道迭代元素很容易,将它们传递给方法,然后将结果放入数组中。但是有没有更短的方法?
编辑:我也不想修改原始数组。
【问题讨论】:
map 不会修改原始数组
["dog", "cat", "bat"].map { |word| word.reverse }
或
["dog", "cat", "bat"].map &:reverse
【讨论】:
Symbol#to_proc 的Ruby 版本。我相信它是在 1.8.7 中添加的。