Ruby 如何咖喱方法?
考虑一下这个代码Ruby 如何咖喱方法?,ruby,Ruby,考虑一下这个代码 def f x, y x + y end g = lambda(&method(:f)).curry.(1) g.(2) # => 3 g的表达式太难读取。它可以简化吗?我认为你能得到的最短的(也是最可读的!)是 g = method(:f).to_proc.curry[1] g[2] # => 3 如果您使用的是Ruby 2.2.0或更高版本,则可以使用: def f(x, y) x + y end g = method(:f).c
def f x, y
x + y
end
g = lambda(&method(:f)).curry.(1)
g.(2) # => 3
g
的表达式太难读取。它可以简化吗?我认为你能得到的最短的(也是最可读的!)是
g = method(:f).to_proc.curry[1]
g[2] # => 3
如果您使用的是Ruby 2.2.0或更高版本,则可以使用:
def f(x, y)
x + y
end
g = method(:f).curry[1]
p g[2] # => 3