このコードを検討してください
def f x, y
x + y
end
g = lambda(&method(:f)).curry.(1)
g.(2) # => 3
for の式g
は読みにくいです。単純化できますか?
このコードを検討してください
def f x, y
x + y
end
g = lambda(&method(:f)).curry.(1)
g.(2) # => 3
for の式g
は読みにくいです。単純化できますか?
Ruby 2.2.0 以降を使用している場合は、Method#curryを使用できます。
def f(x, y)
x + y
end
g = method(:f).curry[1]
p g[2] # => 3
私はあなたが得ることができる最短の(そして最も読みやすい!)は
g = method(:f).to_proc.curry[1]
g[2] # => 3