Scheme多函数调用错误

时间:2018-04-18 20:41:17

标签: scheme

我正在完成这项学校作业,我在下面的代码的最后一行继续讨论这个问题。错误是list-ref:合同违规。所以,我希望我可以获得帮助重写最后一行,以便我能够使用递归,因为我不允许使用循环或作为赋值的一部分开始。

(define (second lst)
  (cond [(and(list? lst)(not(null? lst)) (not(null? (cdr lst)))) (first (rest lst))]
        [else '()]))

(define (extract-helper lst size counter)
  (cond [(equal? size counter) counter]
        [else (second (list-ref lst counter))(extract-helper (list-ref lst (+ counter 1)) size (+ counter 1))]))

0 个答案:

没有答案