Bjö*_*ist 2 f# iterable function-parameter
在Python中,您可以这样写:
def add(a, b, c):
return a + b + c
list_of_args = [4, 5, 6]
print(add(*list_of_args))
Run Code Online (Sandbox Code Playgroud)
前面的星号list_of_args展开了iterable,使其元素是参数a,b和c的值.
你能在F#做类似的事吗?具体来说,我正在寻找一个好的或惯用的F#解决方案,并且不想用反射等来解决问题.
你可以这样做:
type T =
static member func([<ParamArray>] args: 'T[]) = printfn "%A" args
T.func(1, 2, 3)
let args = [|1; 2; 3|]
T.func(args)
Run Code Online (Sandbox Code Playgroud)
两个电话打印[|1; 2; 3|].