我应该编写一个递归函数,将另一个函数应用于一组连续整数并返回一个列表。如果开始大于停止,我应该返回一个空集。
这就是我所拥有的。我不确定这是解决问题的最佳方法,但是...
(define (myfunction start stop fn)
(if (<= start stop)
(cons (fn start)(myfunction (+ start 1) stop fn)))
)
(define (foo val1) ; just to demonstrate myfunction
(* val1 2))
当我尝试在方案解释器中使用它时,我得到了这个:
(myfunction 0 5 foo)
(0 2 4 6 8 10 . #<void>)
我能做些什么来摆脱空虚的东西?我有点困惑。