поэтому я пытаюсь понять этот кусок кода, и после того, как смотрел на нее слишком долго я решил спросить здесь, если кто-нибудь может помочь мне понять, как и почему это работаетВозникли проблемы с функцией в схеме
(define knock-knock
(letrec ([dig (lambda (i)
(cons (* i (list-ref knock-knock (- i 1)))
(dig (+ i 1))))])
(cons 1 (dig 1))))
функция затем вызывается по имени со значением:
(list-ref knock-knock 5)
Так что моя основная проблема заключается в том, что я не могу видеть, где letrec
закончится. другое дело в том, что мне не присваивается список, так что это 4-й элемент в списке, который я должен ссылаться в строке 3?
'knock-knock' не является функцией. это значение, созданное '(cons 1 (dig 1))' внутри 'letrec'. –