如何解决在 OCaml 中使用 Formatter 理解漂亮打印
我有一个像这样的格式化程序代码:
let format ff x = Format.fprintf ff "%d" x
它是具有许多其他功能的更大模块 ModuleName
的一部分(让我们称其中一个为 add
)。
我知道 ff
参数应该是输出的位置,比如 Format.std_formatter
。
但是,在我执行 #install_printer ModuleName.format;;
并运行类似 let sum = add 1 2
之后,我看到 utop 已正确格式化它。然而我从未将任何参数传递给 ff
! OCaml 是否只是默认为 std_formatter
?
解决方法
OCaml REPL 知道如何使用通过 #install_printer
注册的打印机,并且默认在 std_formatter 上打印。然而,这是 REPL 的特性,而不是语言的特性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。