W F #, jak możesz curry funkcji ParamArray (jak sprintf)?
W F #, jak curry funkcji, która akceptuje zmienną liczbę parametrów?
Mam taki kod ... (funkcja dziennika to tylko przykład, dokładna implementacja nie ma znaczenia)
let log (msg : string) =
printfn "%s" msg
log "Sample"
Jest wywoływany w całym kodzie za pomocą łańcuchów sformatowanych sprintf, np.
log (sprintf "Test %s took %d seconds" "foo" 2.345)
Chcę uruchomić funkcję sprintf w funkcji dziennika, aby wyglądała jak ...
logger "Test %s took %d seconds" "foo" 2.345
Próbowałem czegoś takiego
let logger fmt ([<ParamArray>] args) =
log (sprintf fmt args)
ale nie wiem, jak przekazać argument ParamArray do wywołania sprintf.
Jak to zrobić w F #?