在F#中,你如何理解接受可变数量参数的函数?
我有这样的代码...(日志功能只是一个例子,确切的实现并不重要)
let log (msg : string) =
printfn "%s" msg
log "Sample"
Run Code Online (Sandbox Code Playgroud)
它使用sprintf格式化的字符串在整个代码中调用,例如.
log (sprintf "Test %s took %d seconds" "foo" 2.345)
Run Code Online (Sandbox Code Playgroud)
我想在日志函数中讨论sprintf功能,看起来像......
logger "Test %s took %d seconds" "foo" 2.345
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西
let logger fmt ([<ParamArray>] args) =
log (sprintf fmt args)
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何将ParamArray参数传递给sprintf调用.
这是如何在F#中完成的?