6
rozważyć ten kodjak curry metodę?
def f x, y
x + y
end
g = lambda(&method(:f)).curry.(1)
g.(2) # => 3
wyrażenie dla g
jest zbyt trudne do odczytania. Czy można go uprościć?
rozważyć ten kodjak curry metodę?
def f x, y
x + y
end
g = lambda(&method(:f)).curry.(1)
g.(2) # => 3
wyrażenie dla g
jest zbyt trudne do odczytania. Czy można go uprościć?
myślę najkrótsza (! I najbardziej czytelny) można dostać się
g = method(:f).to_proc.curry[1]
g[2] # => 3
Jeśli używasz Ruby 2.2.0 lub nowszy, można użyć Method#curry:
def f(x, y)
x + y
end
g = method(:f).curry[1]
p g[2] # => 3
+1 dla będąc bardzo czytelnym dla użytkownika nie-rubinu –