我想以下列方式打印scheme中每个列表元素的级别。 清单:'(1(20(3(4 40)3)2)1) 预期结果:'(0(1(2(3 4)5)6)7)
请帮助。
答案 0 :(得分:1)
这样的事情:
(define (print-level x current-level)
(define (deeper x) (print-level x (+ current-level 1)))
(define (same x) current-level)
(define (print-element x)
(if (list? x)
(map deeper x)
(same x)))
(map print-element x))