5

我以前从未在 SML 中编程过,我正在使用 SML/NJ。在我运行的每个程序结束时,它都会不断给我以下信息:

val it = () : unit

这是什么意思?是我做错了什么吗?

4

2 回答 2

4

it是您的代码返回的结果的名称。() : unit是从基于副作用的事物返回的微不足道的占位符值。

当您在提示符处输入更常见的表达式时,它会更明显,例如..

- 2 * 7;
  val it = 14 : int
于 2013-10-22T22:42:16.960 回答
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
*)
于 2016-10-11T19:21:30.630 回答