![]() |
1
15
ocaml中字符串的含义有一种“重载”。在编译时,可以将它们解释为字符串,也可以解释为格式(在类型系统中是完全不同的东西),这取决于类型检查器的想法。如果它决定它应该是一种格式,那么格式字符串将在编译时直接解析(这就是为什么它能够在编译时对printf的参数进行类型检查)。(与C不同,C在运行时解析字符串。)但是,没有简单的方法可以在运行时将字符串转换为格式。因此,当您看到printf.printf“2.5”时,“2.5”实际上不是字符串,而是编译时解析的特殊格式类型。这就是为什么你不能用一个字符串来代替它。
在不相关的注释上,如果只想打印字符串,则可能需要使用
|
![]() |
2
3
会工作。printf的第一个论点有点不可思议。(其他人将填写详细信息。) |
![]() |
Tosh · ocaml获取语法错误[已关闭] 6 年前 |
![]() |
Beta Ziliani · OCaml-与类型别名混淆(警告40) 6 年前 |
![]() |
Jheel rathod · 带有构造函数的ocaml递归类型记录 6 年前 |
![]() |
HegoDamask · (OCaml:非穷举模式匹配) 6 年前 |
![]() |
Flux · 如何以静默方式加载顶级模块 6 年前 |
![]() |
Flux · 如何编写显示HTML或重定向到其他页面的服务 6 年前 |
![]() |
Daiwen · ocaml中GADT的异构列表[重复] 6 年前 |
![]() |
nejifnjalz · OCaml语法错误-有趣的模式匹配 6 年前 |
![]() |
M. Walker · 无法键入多态[%bs.raw函数 6 年前 |