List 返回drracket中列表的最后一个元素
我的计算机科学作业需要帮助。我一直试图返回列表的最后一个元素,但一直失败。这就是我到目前为止所做的:List 返回drracket中列表的最后一个元素,list,recursion,racket,element,List,Recursion,Racket,Element,我的计算机科学作业需要帮助。我一直试图返回列表的最后一个元素,但一直失败。这就是我到目前为止所做的: (check-expect (last empty) "Error! The list is empty!") (check-expect (last (list "apple" "banana" "pear" "orange")) "orange") (define (last loe) (cond [(empty? loe) "Error! The list is empty!
(check-expect (last empty) "Error! The list is empty!")
(check-expect (last (list "apple" "banana" "pear" "orange")) "orange")
(define (last loe)
(cond
[(empty? loe) "Error! The list is empty!"]
[]))
我不知道从这里到哪里去。我知道我错过了一个基本案例,但我无法找出它。请帮忙 这个过程已经包含在Racket中,您不需要实现它。但是,如果你必须从头开始写,只需在列表结束之前知道在哪里停下来就可以了!像这样:
(define (last loe)
(cond
[(empty? loe) "Error! The list is empty!"] ; we don't allow empty lists
[(empty? (rest loe)) (first loe)] ; stop right before last
[else (last (rest loe))])) ; advance recursion
这个过程已经包含在Racket中,您不需要实现它。但是,如果你必须从头开始写,只需在列表结束之前知道在哪里停下来就可以了!像这样:
(define (last loe)
(cond
[(empty? loe) "Error! The list is empty!"] ; we don't allow empty lists
[(empty? (rest loe)) (first loe)] ; stop right before last
[else (last (rest loe))])) ; advance recursion
这对我帮助很大!我感谢你的帮助!这对我帮助很大!我感谢你的帮助!