Ich versuche, SML/NJ zu verwenden, und ich verwende sml < source.sml
, um den Code auszuführen, aber es druckt zu viele Informationen aus.Nur Druckausgabe mit SML/NJ drucken
Zum Beispiel ist dies die source.sml
:
fun fac 0 = 1
| fac n = n * fac (n - 1)
val r = fac 10 ;
print(Int.toString(r));
Dies ist die Ausgabe:
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
Von Suppress "val it" output in Standard ML, How to disable SMLNJ warnings? und SMLNJ want to remove "val it =() : unit" from every print statement execution, ich habe ein paar Hinweise, wie sie zu unterdrücken.
ich ausführen CM_VERBOSE=false sml < $filename
und fügte hinzu, eine Zeile von Control.Print.out := {say=fn _=>(), flush=fn()=>()};
im Code, aber ich habe noch eine Botschaft:
Standard ML of New Jersey v110.77 [built: Tue Mar 10 07:03:24 2015]
- 3628800
Wie kann ich nur die Ausgabe ausdrucken?