Ruby 符号语法

Ruby Symbols Syntax

p [1,2,3].map(&:abs)  
p [1,2,3].map(:abs)  
p [1,2,3].reduce(&:gcd)  
p [1,2,3].reduce(:gcd)  

谁能解释一下为什么第 2 行会抛出错误,而第 4 行不会。

这不是与 SymbolSymbol#& 相关的一般句法。这是 Enumerable#reduce.

实现中内置的特例