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