可能重复:
你如何称呼 Ruby 中的 &: 运算符?
我总是看到'.map(&:chomp)'
我知道 chomp 和 map 做什么,但我想知道 &: 做什么,我想知道为什么在谷歌搜索 30 分钟后我无法在网上找到它.....
可能重复:
你如何称呼 Ruby 中的 &: 运算符?
我总是看到'.map(&:chomp)'
我知道 chomp 和 map 做什么,但我想知道 &: 做什么,我想知道为什么在谷歌搜索 30 分钟后我无法在网上找到它.....
它是Symbol#to_proc
, 它将符号转换为一个 proc,它尝试在其参数上调用给定的方法,并返回结果。
x = :reverse.to_proc
x.call("asdf") # "fdsa", like calling "asdf".reverse
在您的情况下,.map(&:chomp)
相当于.map { |x| x.chomp }
.
如果你在谷歌上找不到它,那是因为你在谷歌上搜索错了。这是一个著名的 Ruby 习语。