在F#中,你如何克服一個接受可變數量參數的函數?在F#中,你如何克服ParamArray函數(如sprintf)?
我有這樣的代碼...(日誌功能僅僅是一個例子,實際的實現並不重要)
let log (msg : string) =
printfn "%s" msg
log "Sample"
它被調用整個代碼的sprintf格式的字符串,恩。
log (sprintf "Test %s took %d seconds" "foo" 2.345)
我想咖喱在日誌功能,所以它看起來像sprintf的功能...
logger "Test %s took %d seconds" "foo" 2.345
我已經試過類似
let logger fmt ([<ParamArray>] args) =
log (sprintf fmt args)
,但我想不出如何將ParamArray參數傳遞給sprintf調用。
這是如何在F#中完成的?
僅供參考 - 您正在詢問[格式化表達式](http://msdn.microsoft.com/zh-cn/library/ee340241) (這是鍵入),而不是參數數組(它是無類型的)。 – Daniel