F#示例代码的基础不能编译,为什么?

时间:2009-12-11 15:22:40

标签: f# runtime-error

我正在阅读Robert pickering的 F#的基础。当我尝试运行本书中的第一个示例(下面)时,我在函数打印时遇到运行时错误,“无法解析格式字符串'缺少格式说明符'”

#mytestapp
let message = "Hello
    World\r\n\t!"
let dir = @"c:\projects"

let bytes = "bytesbytesbytes"B

let xA = 0xFFy
let xB = 0o7777un
let xC = 0b10010UL
let print x = printfn "A%" x
let main() =
    print message;
    print dir;
    print bytes;
    print xA;
    print xB;
    print xC
main()

输出应该是(根据书中):

“你好\ n世界\ r \ n \ t!”
“C:\项目”
[| 98uy; 121uy; 116uy; 101uy; 115uy; 98uy; 121uy; 116uy; 101uy; 115uy; 98uy;
121uy; 116uy; 101uy; 115uy |] -1y
4095
18UL

我想,也许我没有引用我应该提到的东西?

1 个答案:

答案 0 :(得分:5)

您希望格式字符串为“%A”,而不是“A%”。 %符号后格式说明符。你的%符号后面没有任何内容 - 因此,Missing format specifier