我有三个这样的功能:
let functionA (i:int) =
"functionA" + string i
let functionB (i:int) =
"functionB" + string i
let functionC (i:int) =
"functionC" + string i
我想将这些函数链接在一起,这样执行所有三个的结果就是每个返回值的数组,有点像 Seq.Collect arrayOfFunctions
有没有办法以声明方式执行此操作?如果我将functionB的参数从int更改为float,答案是否会改变?
由于
答案 0 :(得分:4)
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"|]