Это потому, что параметр format
на самом деле не является string
. Это TextWriterFormat<'T>
, и компилятор F # преобразует формат строки в этот тип. Но он не работает с string
переменными, потому что компилятор не может преобразовать string
в TextWriterFormat<'T>
во время выполнения.
Если вы хотите напечатать содержимое переменной, вам даже не следует пытаться использовать printfn
таким образом, потому что переменная может содержать спецификации формата.
Вы можете использовать формат %s
:
printfn "%s" test
Или используйте .Net Console.WriteLine()
:
Console.WriteLine test
Не забудьте добавить open System
вверху файла, если вы хотите использовать класс Console
.