我以前从未在 SML 中编程过,我正在使用 SML/NJ。在我运行的每个程序结束时,它都会不断给我以下信息:
val it = () : unit
这是什么意思?是我做错了什么吗?
it
是您的代码返回的结果的名称。() : unit
是从基于副作用的事物返回的微不足道的占位符值。
当您在提示符处输入更常见的表达式时,它会更明显,例如..
- 2 * 7;
val it = 14 : int
您还可以将其用于打印输出的副作用:
fun printpos n =
if n <= 0 then (print "not positive!\n")
else (print (Int.toString n); print "\n");
printpos ~1;
printpos 1;
(* Output:
val printpos = fn : int -> unit
not positive!
val it = () : unit
1
val it = () : unit
*)