val it =():SML中的单位是什么意思?

Hor*_*ith 5 sml smlnj

我以前从未用SML编程,而且我正在使用SML/NJ.它在我运行的每个程序结束时不断给我以下内容:

val it = () : unit
Run Code Online (Sandbox Code Playgroud)

这是什么意思?这是我做错的事吗?

Amb*_*ber 4

it是您的代码返回的结果的名称。() : unit是从基于副作用的事物返回的一个简单的占位符值。

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

- 2 * 7;
  val it = 14 : int
Run Code Online (Sandbox Code Playgroud)

  • @HorseSMith:“()”是“unit”类型的唯一值,单位类型,不携带任何信息的类型。ML 中的所有函数都只采用一个参数。单元类型可以用作执行副作用并且不需要(分别)获取或返回任何信息的函数的参数类型和/或返回类型。 (2认同)