我正在做这个练习。
这是我的解决方案:
(defn infixcal [left op right & expr]
(let [r (op left right)]
(if (nil? expr)
r
(infixcal r expr))))
当我通过表达式38 + 48 - 2 / 2
时,我得到 ArityException,因为expr
它被收集在一个列表中'(- 2 / 2)
。
问题是如何将其分解为几个参数并将其传递给函数 infixcal 的下一个调用。