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 行不会。
这不是与 Symbol
或 Symbol#&
相关的一般句法。这是 Enumerable#reduce
.
实现中内置的特例
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 行不会。
这不是与 Symbol
或 Symbol#&
相关的一般句法。这是 Enumerable#reduce
.