Как вы выполняете рекурсию для остальной части первого списка?(Ракетка) - PullRequest
1 голос
/ 30 октября 2011

Если у вас есть список списков списков, как вы получаете доступ к остальной части первого списка?

например. Если у вас есть

(define l1 (list (list (list 1 1) (list 2 3) (list 7 8))
            (list (list 2) (list 3 4 5))))

Как бы вы выполнили рекурсию в этой части

(list (list 1 1) (list 2 3) (list 7 8))

Когда я пытаюсь (rest (first l1))

например. (map add1 (rest (first l1))

Я получаю сообщение об ошибке add1: expects a number; given (list 2 3)

1 Ответ

2 голосов
/ 30 октября 2011

Вы совершенно правы, что код

(rest (first l1))

производит остаток первого списка.В частности:

(define l1 (list (list (list 1 1) (list 2 3) (list 7 8))
            (list (list 2) (list 3 4 5))))

(rest (first l1))

производит

(list (list 2 3) (list 7 8))

Это правда, что вы не можете добавить элементы этого списка вместе, потому что они не числа.

это ответ на твой вопрос?

...