1
鑑於lambda表達式的陣列和值的陣列(包括在運行時創建的),Ruby:通過lambdas數組「管道」數值數組的功能方式?
values.map{ |value| lambdas[0].(value) }
將(顯然)返回爲陣列施加第一所述lambda表達式的每個值的的結果。但我需要做的是應用所有的lambda表達式,即
values.
map{ |value| lambdas[0].(value) }.
map{ |value| lambdas[1].(value) }.
...
map{ |value| lambdas[-1].(value) }
相當於我當然可以寫一個方法來做到這一點,例如
def map_all(lambdas, values)
if lambdas.length == 0
values
else
map_all(lambdas.drop(1), values.map{ |value| lambdas.first.(value) })
end
end
但有沒有更優雅或慣用的方式來做到這一點?
這確實好聽。謝謝! –