我以前从未用SML编程,而且我正在使用SML / NJ。它在我运行的每个程序结束时不断给我以下内容:
val it = () : unit
这是什么意思?这是我做错的事吗?
答案 0 :(得分:3)
it
是您的代码返回的结果的名称。 () : unit
是从基于副作用的事物返回的一个微不足道的占位符值。
当您在提示符下输入更常见的表达式时更明显,例如......
- 2 * 7;
val it = 14 : int
答案 1 :(得分:2)
你也可以用它来打印出来的副作用:
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
*)