我正在尝试在 clojure 中递归地附加一个列表。就是解构我创建的一个POW函数,把(POW x 3)变成(* x (* xx))
我是一个真正的 Clojure 程序员新手,试图在 Clojure 中解决这个问题有点困难。我想出了:
(defn do-it [x n]
(if (= n 0)
(println x)
((dec n) (if (= x 'x))
(list '* 'x 'x)
(list '* 'x x))))
这不会编译或运行,但这就是我的计划。我的想法是每次添加另一个 (* x 到列表中时都减少 n。
我有这个,这与我正在尝试做的类似,但没有将 POW 想法实现到函数中:
(defn do-it [x]
(if (= x 'x)
(list '* 'x 'x)
(list '* 'x x)))
我在第一段代码的正确道路上吗?我正在尝试的甚至可能吗?