gpt4 book ai didi

OCaml 顶级输出格式

转载 作者:行者123 更新时间:2023-12-02 00:44:36 25 4
gpt4 key购买 nike

如果我在 OCaml 的顶层执行以下命令:

#require "num";;
open Ratio;;

ratio_of_int 2;;

输出为:

- : Ratio.ratio = <ratio 2/1>

这样的格式如何可能? sources告诉我 Ratio.ratio 是一个记录。所以输出应该更类似于

{numerator = <big_int 2>; denominator = <big_int 1>; normalized = true}

我尝试查看比率输出是否以某种方式硬编码在顶层,但此搜索没有结果。作为 OCaml 的新手,我必须问我是否遗漏了一些重要的东西?在重载字符串化函数的语言中,这并不奇怪,但在 OCaml 的情况下,我发现这种行为非常不合适。

最佳答案

Findlib 有一个专门用于比率模块的 pretty-print 。而不是打印出<abstr> (界面不会公开记录),它会打印出您所看到的内容。如果您想查看它,请查看 findlib/num_top_printers.ml:

let ratio_printer fmt v =
Format.fprintf fmt "<ratio %s>" (Ratio.string_of_ratio v)

关于OCaml 顶级输出格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4453853/

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