【发布时间】:2019-04-02 10:22:02
【问题描述】:
我知道整体代码是返回列表的最后第 n 个元素,但是,我不明白这个过程,比如在每一行中发生了什么(以及为什么,如果可能的话)?
(define (last-n lst n)
(define (help-func lst drop)
(cond
((> drop 0)
(help-func (cdr lst ) (- drop 1)))
(else
(cdr lst ))))
(if (= (length lst ) n )
lst
(help-func lst (- (length lst ) 1 n ))))
【问题讨论】: