[1,2,3].map {|e| e+1} [1,2,3].map {_+1} # 这样可以吗
不行
不行,下划线在 ruby 里面代替可被忽略的参数,用来让你的代码更具有可读性 但是你可以
[1,2,3].map {|_| _+1} [1,2,3].map(&:to_s)
to_s 有不是 +1
话说有谁知道 ruby 为何不支持这种写法?
to_s = lambda { |x| x + 1} b = [1,2,3].map(&to_s) p b
[1,2,3].map(&1.method(:+))
楼主又来抬杠了
这写法高级啊,之前的没见过。 这应该是通过柯里化来实现的吧。
不能。你的例子可以 .map &:succ
.map &:succ
提问的智慧:
我在想能不能覆盖 method_missing 来实现一个这个
method_missing