什么.map(& chmp)确实做到了吗?

时间:2013-01-10 03:14:50

标签: ruby

  

可能重复:
  What do you call the &: operator in Ruby?

我一直看到'.map(&:chomp)'

我知道chomp和map是做什么的,但我想知道什么&:我想知道为什么在谷歌搜索后30分钟我无法在网上找到它.....

1 个答案:

答案 0 :(得分:5)

它是Symbol#to_proc,它将符号转换为proc,尝试在其参数上调用给定方法,返回结果。

x = :reverse.to_proc

x.call("asdf") # "fdsa", like calling "asdf".reverse

在您的情况下,.map(&:chomp)相当于.map { |x| x.chomp }

如果你无法通过谷歌搜索找到它,那是因为你在谷歌搜索错误的东西。这是一个众所周知的Ruby习语。