在函数式编程中,调用不接受参数的函数的正确名称是什么?例如:
// 2 types of execute functions
type Function =
| UnitFunction of (unit -> unit)
| OperandFunction of (unit16 -> unit)
let nop () =
()
let shiftRegisterA operand =
registers.A <- registers.A <<< operand
可以
nop
被称为 UnitFunction
, 和 shiftRegisterA
被称为 OperandFunction
?
最佳答案
您在这里所指的通常称为 arity的一个功能。因此,没有参数的函数将被称为空函数和具有单个参数的函数 - 一元函数。
虽然您仍然可以在 F# 函数的上下文中使用此术语并获得普遍理解,但这并不完全准确。 F# 函数始终采用单个参数并返回单个值,因为默认情况下函数是柯里化(Currying)的。
在您的情况下,nop
有类型 unit -> unit
.这意味着它需要一个 unit
类型的参数。 (类型的唯一 ()
值),并返回类型为 unit
的结果.尽管如此,这仍然使它成为一元函数。
关于.net - 使用空参数调用函数的术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43297393/