(define ..
(lambda (start stop)
(cond ((> (add1 start) stop) (quote ()))
((eq? (add1 start) stop) (sub1 stop))
(else (cons start (.. (add1 start) stop))))))
Я определил простую функцию диапазона. Цель состоит в том, чтобы
(.. 1 5) --> (1 2 3 4)
Вместо этого в мой кортеж добавляется странный период, и я понятия не имею, почему:
(.. 1 5) --> (1 2 3 . 4)
Я не понимаю, почему это происходит. Любая помощь приветствуется