数学运算函数的数量界限

在Lisp中对表中数据进行求和、求最大值等数学运算时,往往直观的对表直接赋予运算函数,使用语句如“(eval (cons MAX numlist))”,一般都可以进行计算,但当表中数据数量大于255时,将会出现错误“bad argument value: does not fit in byte: 256”。
    对于这种情况,我们不必对数据表进行分段,可以直接使用函数apply,语法更简单:(apply MAX numlist)。apply可将数据表传送给指定的函数进行求值而不受数据数量的影响。
    受表中数据数量影响的数学运算函数有:+、-、*、/、max、min、logand及logior。

标签:数学 运算 函数 数量 界限