调用一个函数n次acl2

时间:2017-10-25 18:23:17

标签: function lisp common-lisp acl2

我无法弄清楚如何调用一个函数n次以用于另一个函数

我有一个功能

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

我需要编写另一个需要移位'(l)n次

的函数
(defun right-shift-n-times (l n)
   (natp n)
       ...)

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

1 个答案:

答案 0 :(得分:3)

您应该提供更多问题背景知识。如果你想改变逐位数据,我想有更有效的方法。

对于家庭作业式的解决方案,我会从这样的事情开始:

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

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