LINUX.ORG.RU

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

Исправление no-such-file, (текущая версия) :

(defun list-reverse (list n)
  (do ((c n (1- c))
       (collected (list) (cons (first remaining) collected))
       (remaining list (rest remaining)))
      ((= c 0) collected)))

(z 1 (- n 1))

Так не работает же, z не меняется.

(n (- n 1))

А тут нет обновления (- n 1) используется как начальное значение, т.е. тоже не меняется.

(y '() (cons (car x) y)))

Всё хорошо, только литерал списка использовать нежелательно. Почему нежелательно объясняется в книжке On Lisp (ЕМНИП)

(defvar n) (setq n 3)

Зачем ты так пишешь, если можно (defvar n 3)? Звёздочки тоже желательно добавлять, а то непонятно, что n имеет динамическую видимость.

Исправление no-such-file, :

(defun list-reverse (list n)
  (do ((c n (1- c))
       (collected (list) (cons (first remaining) collected))
       (remaining list (rest remaining)))
      ((= c 0) collected)))

(z 1 (- n 1))

Так не работает же, z не меняется.

(n (- n 1))

А тут нет обновления (- n 1) используется как начальное значение, т.е. тоже не меняется.

(y '() (cons (car x) y)))

Всё хорошо, только литерал списка использовать нежелательно. Почему нежелательно объясняется в книжке On Lisp.

(defvar n) (setq n 3)

Зачем ты так пишешь, если можно (defvar n 3)? Звёздочки тоже желательно добавлять, а то непонятно, что n имеет динамическую видимость.

Исходная версия no-such-file, :

(defun list-reverse (list n)
  (do ((c n (1- c))
       (collected (list) (cons (first remaining) collected))
       (remaining list (rest remaining)))
      ((= c 0) collected)))

(z 1 (- n 1))

Так у тебя глобальная переменная меняется. Будет работать только первый раз.

(n (- n 1))

А тут нет обновления (- n 1) используется как начальное значение.

(y '() (cons (car x) y)))

Всё хорошо, только литерал списка использовать нежелательно. Почему нежелательно объясняется в книжке On Lisp.

(defvar n) (setq n 3)

Зачем ты так пишешь, если можно (defvar n 3)? Звёздочки тоже желательно добавлять, а то непонятно, что n имеет динамическую видимость.