【发布时间】:2016-12-09 17:44:27
【问题描述】:
我有这段简单的代码,构建了一个数字列表:
#lang scheme
(define pseudofizzbuzz (lambda (x)
(cond
((zero? x) (quote ()))
((or (integer? (/ x 3)) (integer? (/ x 5))) (cons (quote ()) (pseudofizzbuzz (- x 1))))
(else (cons x (pseudofizzbuzz (- x 1)))))))
(define reverselist (lambda (lat)
(cond
((null? lat) (quote ()))
(else
(cons (reverselist (cdr lat)) (list (car lat)))))))
(reverselist (pseudofizzbuzz 10))
我得到的结果是:
((((((((((() 1) 2) ()) 4) ()) ()) 7) 8) ()) ())
但我想要的当然是:
(1 2 4 7 8)
有没有办法在计划中做到这一点?我正在使用 DrRacket。
【问题讨论】:
标签: scheme racket nested-lists