【发布时间】:2015-07-25 13:00:38
【问题描述】:
我正在尝试使用 SML/NJ,并使用 sml < source.sml 运行代码,但它打印出的信息太多。
例如,这是source.sml:
fun fac 0 = 1
| fac n = n * fac (n - 1)
val r = fac 10 ;
print(Int.toString(r));
这是输出:
Standard ML of New Jersey v110.77 [built: Tue Mar 10 07:03:24 2015]
- val fac = fn : int -> int
val r = 3628800 : int
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[autoloading done]
3628800val it = () : unit
从Suppress "val it" output in Standard ML、How to disable SMLNJ warnings? 和SMLNJ want to remove "val it = () : unit" from every print statement execution,我得到了一些如何抑制它们的提示。
我执行CM_VERBOSE=false sml < $filename并在代码中添加了一行Control.Print.out := {say=fn _=>(), flush=fn()=>()};,但我仍然有一些信息:
Standard ML of New Jersey v110.77 [built: Tue Mar 10 07:03:24 2015]
- 3628800
如何只打印输出?
【问题讨论】: