我一直看到'.map(&:chomp)'
我知道chomp和map是做什么的,但我想知道什么&:我想知道为什么在谷歌搜索后30分钟我无法在网上找到它.....
答案 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习语。