RosettaCodeData/Task/First-class-functions-Use-numbers-analogously/Ruby/first-class-functions-use-numbers-analogously.rb
2023-07-01 13:44:08 -04:00

5 lines
196 B
Ruby

multiplier = proc {|n1, n2| proc {|m| n1 * n2 * m}}
numlist = [x=2, y=4, x+y]
invlist = [0.5, 0.25, 1.0/(x+y)]
p numlist.zip(invlist).map {|n, invn| multiplier[invn, n][0.5]}
# => [0.5, 0.5, 0.5]