将列表中的汽车评估为lisp中的函数

时间:2015-04-09 20:22:22

标签: lisp common-lisp

我正在做作业,我需要一些帮助。我不希望你为我做这件事只是给我一些指导。我们需要做的是编写一个函数,它接受两个数字的列表和一个用传统符号(3 + 2)编写的运算符,并在前缀表示法(+ 3 2)中产生相同的函数并对其进行求值(5)。我可以很容易地将一种符号转换为另一种符号但是当我需要评估它时我要做的只是强制列表(+)的汽车是一个函数而不仅仅是列表中的一个元素然后通过汽车列表(3 2)作为该函数的参数。唯一的问题是我不知道如何强迫+成为+而不是' +'。我再也不想让你为我写这个功能,只是让我走上正轨。

1 个答案:

答案 0 :(得分:4)

使用fdefinitionsymbol转换为function对象(可选),然后使用apply(如果您不知道参数的数量)或{{ 3}}(如果你这样做)调用函数。