元数

逻辑数学计算机科学里,函数运算元数是指所需的参数或操作数的数量。关系的元数则是指其对应之笛卡儿积的维度。

元数主要用在下面类型的函数之中:f : VS,其中的VSn,且S是某个集合。此类函数通常称为在S上的「运算」,且称n是这个运算的元数。

例子

「元数」一词其实在一般情况之下并不怎么常使用。例如,与其说「加法运算的元数是2」或「加法是个元数2的运算」,更多人会说「加法是个二元运算」。

0元

有时,将一个常数视为一个0元运算或0元函数是很有用的。

而且,在非函数编程语言里,一个没有参数的函数可以是有意义的,且不必然是个常数(因为有副作用)。通常,此类函数实际上会有个「隐藏输入」,可能是个全局变量,包含整个系统的状态(时间、未使用内存、…)。后者是个很重要的例子,即使在「纯」函数编程语言里也有其存在。

一元

在数学和编程语言中,一元运算的例子包括正负值、C语言之类编程语言中的递增和递减操作符,以及数学中的阶乘倒数高斯符号绝对值共轭复数范数

所有在λ演算中的函数,以及部份函数编程语言(尤其是那些衍生自ML语言的编程语言)在技术上是一元的。

二元

大部份在编程语言中出现的操作符多是二元运算的形式。在编程语言及数学里,这些二元运算可以是乘法、加法及除法。「或」、「异或」、「且」、「蕴涵」等逻辑联结词一般也被当做二元操作符使用。

三元

C语言C++C#JavaPerl等各种编程语言中,都会有个三元操作符「?:」,称为条件运算符Forth中也有一个三元操作符「*/」。这个操作符会将前两个数字相乘,然后再除以第三个数字,中介的乘积结果会以两倍的比特保存,以防中介的结果溢出。dc中也有一些三元操作符,如「|」,会从堆栈中弹出三个值来,且以随意的精确度有效地计算出来。另外,许多汇编语言的指令为三元或更多元,如「MOV %AX, (%BX,%CX)」,会将寄存器BXCX的和所指的内存地址中的内容加载(MOV)寄存器AX之中。

n元

从数学的角度来看,有n个参数的函数总是可以想成是有1个参数的函数,其参数为某个积空间的元素。不过,在标记上,当做是n元函数会比较简单,如多重线性映射(此映射在n≠1时不是积空间上的线性映射)。

在编程语言中也一样,有数个参数的函数总是可以被定义成以某个复合类型做为单一参数的函数,如多元组,或柯里化高端函数

参考数据

  • Quine, W. V. O., , Cambridge, MA: Harvard University Press, 1940
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.