From: zverok.offline@... Date: 2018-01-24T09:11:35+00:00 Subject: [ruby-core:85047] [Ruby trunk Feature#11161] Proc/Method#rcurry working like curry but in reverse order Issue #11161 has been updated by zverok (Victor Shepelev). Started to write my own ticket, but found this one :) My explanation was like this: --- Considering two widespread Ruby patterns: * Last method arguments are frequently options/settings/clarifications of the call; * `Method#to_proc` as a useful idiom for function-style programming... I thought about constructs like this (some hate them, but not me): ```ruby URLS. map(&Faraday.method(:get)). map(&JSON.method(:parse)) ``` For me, it seems pretty useful to be able to do this: ```ruby URLS. map(&Faraday.method(:get).rcurry[some_get_param: 'value']). map(&JSON.method(:parse).rcurry[symbolize_names: true]) ``` Of course, you can say that it makes you eyes bleed.... But I somehow love what we can get this way. Can we please consider it for next Ruby version? ---------------------------------------- Feature #11161: Proc/Method#rcurry working like curry but in reverse order https://bugs.ruby-lang.org/issues/11161#change-69752 * Author: Hanmac (Hans Mackowiak) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- currenty with curry you can only replace elements in order #rcurry should be added to be able to return the last parameter first. ` def abc(a,b); "a=#{a}, b=#{b}"; end c= method(:abc).curry c[1,2] #=> "a=1, b=2" c[1][2] #=> "a=1, b=2" ` i image rcurry to be like that: ` def abc(a,b); "a=#{a}, b=#{b}"; end c= method(:abc).rcurry(2) c[1,2] #=> "a=2, b=1" c[1][2] #=> "a=2, b=1" ` because of optional parameters, rcurry might be only be used when giving the arity -- https://bugs.ruby-lang.org/ Unsubscribe: