Dlaczego printfn F # działa z ciągami literalnymi, ale nie z wartościami typu string?
W następującym kodzie F #; Spodziewałbym się, żeprintfn
jest nazywany trzy razy; każdy ze sznurkiem. Jednak dolny wiersz się nie kompiluje (The type 'string' is not compatible with the type 'Printf.TextWriterFormat<'a>'
).
Co w pierwszych dwóch liniach oznacza, że może to działać? Czy nie są to tylko smyczki?
open System
printfn ("\r\n") // Works
printfn ("DANNY") // Works
printfn (DateTime.Now.ToLongTimeString()) // Doesn't compile