Есть функция:
(define (loop x y)
(if (null? x)
y
(let ((temp (cdr x)))
(set-cdr! x y)
(loop temp x))))
где set-cdr:
(define (set-cdr! x new-cdr)
(set! x (cons (car x) new-cdr))
x)
Никак не могу понять, почему (loop '(a b c d) '()) выдаёт '(d), а не '(d c b a).
Форум —
Development

