从ml输出中删除哈希
问题描述:
我写了一个ml函数,并在输出中获得 out = Mary(“a”,[Zary#,Zary#]) 其中Mary和Zary是构造函数。但正如你所看到的,输出中有一些“#”。 if if val Mary(“a”,x)= out; 然后它显示 x = [Zary(“b”),Zary(“c”)];哪个是对的。从ml输出中删除哈希
我想获得完整的输出而不是散列。请帮助我。
答
如果(似乎是这样),你正在使用SML/NJ,那么你需要设置或者Control.Print.printDepth
或Compiler.Control.Print.printDepth
(具体取决于哪个版本您正在使用SML/NJ的)的值大于它的默认。
哈希用作缩写,使复杂的输出更易于管理。控制某一给定位输出的复杂程度的阈值相当低。 (还有一个printLength阈值,管理长列表的清除,而不是深嵌套结构。)
有关官方文档,请参见http://www.smlnj.org/doc/Compiler/pages/printcontrol.html。
+0
谢谢,那就是诀窍。 – 2011-05-16 10:20:45
“ml”? “HTML”?它是什么?这是什么?无论如何,这是关于这个网站的主题。请点击“标志”链接并请管理员将其移至正确的网站。堆栈溢出?另外,为了获得额外的功劳,请阅读FAQ。 – 2011-03-13 13:42:49
这是[在sml中扩展#]的副本(http://stackoverflow.com/questions/5051081/expanding-in-sml/5079394#5079394)和[用REPL中的#-signs截断输出](http ://sackoverflow.com/questions/4532144/output-is-truncated-with-signs-in-the-repl) – 2011-03-14 16:35:36