Unix模块中的示例:
val environment : unit -> string array
Run Code Online (Sandbox Code Playgroud)
为什么不呢:
val environment : string array
Run Code Online (Sandbox Code Playgroud)
?
Gia*_*ian 19
因为它表示一个函数,它将类型unit的值作为其参数.单位类型仅包含值"()".这通常用于表示函数将执行某种IO或引起副作用,并且不需要输入.您提供的第二种类型签名是值的签名,而不是可以应用的函数.如果某个表达式绑定到此名称,那么将在值绑定发生时计算该表达式,而不是在引用它时(如函数应用程序的情况).