(伪代码)
myFunc1 :: Something1 -> Something2
execute myFunc1 Something1
.
execute myFunc2
.
execute myFunc3
.
execute myFunc4
.
return Something2
但我不确定这是否可能?我只需要有一些愚蠢的东西:
myFunc4(myFunc3(myFunc2(MyFunc1(Something1))))
?
答案 0 :(得分:8)
使用函数调用运算符$
:
myFunc4 $ myFunc3 $ myFunc2 $ myFunc1 $ Something1
或功能组成:
myFunc4 . myFunc3 . myFunc2 . myFunc1 $ Something1
或let
:
let x = myFunc1 Something1 in
let y = myFunc2 x in
let z = myFunc3 y in
myFunc4 z
答案 1 :(得分:3)
如果您想保持从左到右的阅读顺序,您可以定义
(.>) = flip (.) -- are those in standard library somewhere?
($>) = flip ($)
myComplex = Something1 $> myFunc1 .> myFunc2 .> myFunc3 .> myFunc4