-2

想象一个算术表达式,例如 (+ 1 (* 2 (- 3 5))) 被认为是一个树状结构,其叶子为数字,内部节点为运算符符号,如下所示:

     +
   /   \
  1     *
       /  \
      2    -
          /  \
         3    5

每个节点可以由一个三元素列表表示:(left-operand operator right-operand)

我正在尝试编写一个函数
(make-expr left-op operator right-op)

产生
(left-op operator right-op)

例如: (make-expr '(6 * 3) '+ '(5 -2)) => ((6 * 3) + (5 - 2))

4

1 回答 1

2
> (list '(6 * 3) '+ '(5 - 2))
((6 * 3) + (5 - 2)

是的,就像使用list函数一样简单。

于 2012-10-11T06:37:55.063 回答