gpt4 book ai didi

ocaml - 将 OCaml 字符串转换为 format6

转载 作者:行者123 更新时间:2023-12-04 05:33:11 24 4
gpt4 key购买 nike

以下代码无法编译:

let x = "hello" in
Printf.printf x

错误是:
Error: This expression has type string but an expression was expected of type
('a, out_channel, unit) format =
('a, out_channel, unit, unit, unit, unit) format6

1)有人可以解释错误信息吗?

2) 为什么不能将字符串传递给 printf ?

最佳答案

printf 的第一个参数必须是类型 ('a, out_channel, unit) format不是字符串。字符串文字可以自动转换为适当的格式类型,但字符串通常不能。

原因是格式字符串的确切类型取决于字符串的内容。例如表达式的类型 printf "%d-%d"应该是 int -> int -> ()printf "%s"的类型应该是 string -> () .显然,当编译时不知道格式字符串时,这种类型检查是不可能的。

在你的情况下,你可以做 printf "%s" x .

关于ocaml - 将 OCaml 字符串转换为 format6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10458672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com