1

我不知道如何调用一个函数 n 次以在另一个函数中使用

我有一个功能

(defun right-shift (l)
   (append l '(0))) 

而且我需要编写另一个需要移动'(l)n次的函数

(defun right-shift-n-times (l n)
   (natp n)
       ...)

我什至不确定我是否正确启动了该功能,我无法弄清楚如何调用它 n 次。

4

1 回答 1

3

您应该提供更多有关您的问题的背景信息。如果你想移动按位数据,我猜有更有效的方法。

对于家庭作业式的解决方案,我将从以下内容开始:

 (defun right-shift-n-times (l n)
       (if (zerop n)
           l
           (right-shift-n-times (right-shift l) (1- n))))

但我不是一个非常有经验的 lisper。

于 2017-10-25T19:28:42.583 回答