Ruby符号语法

Ruby符号语法,ruby,syntax,symbols,Ruby,Syntax,Symbols,有人能解释为什么第2行会抛出一个错误,而不是第4行。这不是与Symbol或Symbol#&相关的一般语法问题。这是一个内置于可枚举#reduce实现中的特殊情况。这个特殊情况位于通过&进行符号转换之前,因此在非常旧的Ruby版本中,只有第4行是正确的。文档和不清楚吗?@CarySwoveland它们足够清楚,但我没想到我的问题是非常特定于函数的。 p [1,2,3].map(&:abs) p [1,2,3].map(:abs) p [1,2,3].reduce(&:gcd

有人能解释为什么第2行会抛出一个错误,而不是第4行。

这不是与
Symbol
Symbol#&
相关的一般语法问题。这是一个内置于
可枚举#reduce

实现中的特殊情况。这个特殊情况位于通过
&
进行符号转换之前,因此在非常旧的Ruby版本中,只有第4行是正确的。文档和不清楚吗?@CarySwoveland它们足够清楚,但我没想到我的问题是非常特定于函数的。
p [1,2,3].map(&:abs)  
p [1,2,3].map(:abs)  
p [1,2,3].reduce(&:gcd)  
p [1,2,3].reduce(:gcd)