chodzi Zmiękczanie w Ruby 1.9.x, używam go w niektórych miejscach, i może być tłumaczone jak zasadzie wspierania domyślnych parametrów do argumentów proc:Ruby Reverse Currying: Czy to możliwe?
p = proc {|x, y, z|x + y + z}
p.curry[1] #=> returns a lambda
p.curry[1, 2] #=> returns a lambda
p.curry[1, 2, 3] #=> 6
p2 = p.curry[1, 2]
p2.(2) #=> 5
p2.(4) #=> 7
bardzo przydatne, prawda? Chodzi o to, że chciałabym móc curry na odwrót, to znaczy, wypełnić ostatni argument mojego proca losową wartością. Tak:
p = proc{|x, y| x - y }.curry[1]
p.(4)
mój pożądany rezultat byłby to 3. zwraca -3.
HUMM, wygląda dość czyste, zamiar spróbować. Przypadek użycia polega na replikowaniu w pewnym miejscu tego samego zachowania, jakie uzyskujesz z posiadania domyślnych argumentów dotyczących metod, które można ustawić tylko od ostatniego argumentu w tył. Chciałem zastosować tę samą metodę i zastąpić domyślny argument inną wartością w innym kontekście. – ChuckE