【发布时间】:2012-03-22 15:33:42
【问题描述】:
我正在尝试使用 F# 交互式控制台打印一个 int。
let x = sprintf "%d", 3
printf x
给予:
stdin(12,8): 错误 FS0001: 类型 '(int -> string) * System.Numerics.BigIntege r' 与类型不兼容 'Printf.TextWriterFormat'
我做错了什么?
【问题讨论】:
标签: f#
我正在尝试使用 F# 交互式控制台打印一个 int。
let x = sprintf "%d", 3
printf x
给予:
stdin(12,8): 错误 FS0001: 类型 '(int -> string) * System.Numerics.BigIntege r' 与类型不兼容 'Printf.TextWriterFormat'
我做错了什么?
【问题讨论】:
标签: f#
试试
let x = sprintf "%d" 3
printf "%s" x
因为你写 x 的方式是一个函数和一个数字的元组
【讨论】:
printf 不期望字符串,而是格式。 printf "%s" x 可以工作,或者只是System.Console.Write x。
TextWriterFormat<'a>。这就是为什么printf "hi" 有效,而printf x 无效。