Ruby数组进入方法

Mik*_* H. 1 ruby arrays methods

我在Ruby中有一个数组,就像["dog", "cat", bat"].如何获得一个数组,其中每个元素都传递给特定方法?例如,如果方法反转输入字符串,那么我希望得到["god", "tac", "tab"].我知道迭代元素很容易,将它们传递给方法,并将结果放入数组中.但是有更短的方式吗?

编辑:我也不想修改原始数组.

Dav*_*son 6

["dog", "cat", "bat"].map { |word| word.reverse }
Run Code Online (Sandbox Code Playgroud)

要么

["dog", "cat", "bat"].map &:reverse
Run Code Online (Sandbox Code Playgroud)

  • 不,它是ruby语法的标准部分.我只是在没有任何宝石的情况下尝试了它,并且它有效. (3认同)
  • 它可以在任何版本的Ruby中使用[`Symbol#to_proc`](http://ruby-doc.org/core-1.9.3/Symbol.html#method-i-to_proc).我相信它是在1.8.7中添加的. (2认同)