想象一个算术表达式,例如(+ 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))
答案 0 :(得分:2)
> (list '(6 * 3) '+ '(5 - 2))
((6 * 3) + (5 - 2)
是的,它就像使用list
函数一样简单。