F# では、可変数のパラメーターを受け入れる関数をどのようにカリー化しますか?
私はこのようなコードを持っています...(ログ機能は単なる例であり、正確な実装は重要ではありません)
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#でどのように行われますか?