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