FSharp 功能组合

FSharp Functional Composition

我有三个这样的函数:

let functionA (i:int) =
    "functionA" + string i

let functionB (i:int) =
    "functionB" + string i

let functionC (i:int) =
    "functionC" + string i

我想将这些函数链接在一起,以便执行所有三个函数的结果是每个 return 值的数组,有点像 Seq.Collect arrayOfFunctions

有没有办法以声明方式执行此操作?如果我将函数 B 的参数从 int 更改为 float,答案会改变吗?

谢谢

let farr = [| functionA; functionB; functionC |] 
let applyfarr farr i = Array.map (fun f -> f i) farr  

如何申请:

applyfarr farr 2 
> val it : string [] = [|"functionA2"; "functionB2"; "functionC2"|]