这是一个非常简单的问题,我只是想检查一下我正在做什么,以及我如何解释F#是有道理的.如果我有声明
let printRandom =
x = MyApplication.getRandom()
printfn "%d" x
x
Run Code Online (Sandbox Code Playgroud)
printRandomF#不是创建函数,而是运行一次,然后为其赋值.所以,现在,当我调用printRandom时,不是获取一个新的随机值并打印它,我只是得到第一次返回的内容.我可以解决这个我的定义:
let printRandom() =
x = MyApplication.getRandom()
printfn "%d" x
x
Run Code Online (Sandbox Code Playgroud)
这是在无参数函数和值之间进行区分的正确方法吗?这对我来说似乎不太理想.是否会对咖喱,成分等产生影响?
我读了这篇MSDN文章:
...单位类型是指示缺少特定值的类型; 单元类型只有一个值,当没有其他值存在或需要时,它充当占位符...单元类型类似于C#和C++等语言中的void类型...
所以...好吧,我明白,单位类型是这样一种类型,它只有一个值().但我有一些问题:
我不明白为什么不在F#中使用void类型,比如C#和C++使用.
如果我看下表:
Type .NET Type Description
void Void Indicates no type or value.
Run Code Online (Sandbox Code Playgroud)
我看到F#确实有一个void类型.所以我不明白为什么需要单位类型; 看起来它与void非常相似.
我想它与功能语言范式有关,这就是为什么需要它,所以请...向我解释一下这个问题.