Я пытаюсь найти глубину каждого элемента в списке и одновременно создать выход, где сплющенный выход записывается с их уровнем глубины, до сих пор я придумал следующую логику -Глубина атомов в списке
(define nestingDepth
(lambda (lst1)
(cond ((null? lst1) 1)
((list? (car lst1))
(cons(+ 1(nestingDepth (car lst1)))) (nestingDepth (cdr lst1)))
((null? (cdr lst1)) (cons (1 (cdr lst1))) (nestingDepth (cdr lst1))))))
Но это не печатает ничего на выходе. Пожалуйста, уточните, где я ошибаюсь. Ожидаемый результат будет выглядеть - вход - «(а (б) в) выход - (1 2 б 1 с)
'(глубины '(a. B))' yields '' (1 a 0 b)'. Это правильно? – uselpa
Op не указал, что должно произойти с неправильными списками. B не является элементом списка верхнего уровня, поэтому на самом деле он не находится на какой-то глубине. Я не думаю, что для его глубины необоснованно 0. –