2

我编写了一个 ml 函数,在输出中我得到了 = Mary ("a",[Zary #,Zary #]) 其中 Mary 和 Zary 是构造函数。但正如您所见,输出中有一些“#”。如果我做 val Mary("a",x) = out; 然后它显示 x = [Zary("b"),Zary("c")]; 哪个是对的。

我想获得完整的输出而不是哈希。请帮助我。

4

1 回答 1

3

如果(似乎是这种情况)您使用的是 SML/NJ,那么您需要将Control.Print.printDepthCompiler.Control.Print.printDepth(取决于您使用的 SML/NJ 版本)设置为大于默认值的值。

哈希用作缩写,以使复杂的输出更易于管理。控制给定输出在消除它之前必须有多复杂的阈值相当低。(也有一个 printLength 阈值,用于控制长列表的省略,而不是深度嵌套的结构。)

有关官方文档,请参见http://www.smlnj.org/doc/Compiler/pages/printcontrol.html

于 2011-03-13T14:38:46.913 回答