У меня возникли проблемы с использованием карты.
Я определяю бинарные деревья как списки, и у меня есть несколько функций для работы с ними. Я должен придумать несколько тестовых случаев, а затем запустить их. У меня есть несколько предопределенных деревьев. Однако, чтобы сэкономить время, я хочу запустить тестовые случаи как пакет с картой.
Например, у меня есть следующие деревья:
(define ctree0 '()) ; 0 nodes
(define ctree1 '("Apple" () ())) ; 1 node
(define ctree4 '("Candy" ("Artichoke" ("Apple" () ()) ()) ("Doughnut" () ()))) ; 4 nodes
У меня есть следующая функция:
(define empty?
(lambda (t)
(null? t)
)
)
Чтобы сэкономить время, я определил список списков:
(define ctrees '(ctree0 ctree1 ctree4))
а затем попытался запустить следующее:
(map empty? ctrees)
который произвел:
(#f #f #f)
Правильный результат должен быть (#t #f #f)
, и это то, что я получаю, когда проверяю их по отдельности).
Как я могу это исправить? Я пробовал играть с удалением передней кавычки, которая подавляла оценку, но тогда я, очевидно, получаю ошибки о том, что список не может быть оценен.