LINUX.ORG.RU

История изменений

Исправление saufesma, (текущая версия) :

(defun labels-sum-list (lst n)
  (labels ((temp (lst)
             (if (eq (car lst) nil)
                 n
               (progn
                 (setq n (+ n (car lst)))
    (temp (cdr lst))))))))  ;; теперь он рекурсивный и не работает, где-то косяк

(labels-sum-list '(1 2 3 4 5) 0) => nil

Исходная версия saufesma, :

(defun labels-sum-list (lst n)
  (labels ((temp (lst)
             (if (eq (car lst) nil)
                 n
               (progn
                 (setq n (+ n (car lst)))
    (temp (cdr lst))))))))  ;; теперь он рекурсивный и не работаетб где-то косяк

(labels-sum-list '(1 2 3 4 5) 0) => nil