これまで 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
*)