返回 drracket 中列表的最后一个元素
Returning last element of a list in drracket
我的计算机科学作业需要帮助。我一直在尝试 return 列表的最后一个元素,但我总是失败。这是我目前所拥有的:
(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!"]
[]))
我不知道从这里去哪里。我知道我缺少一个基本案例,但我无法弄清楚。请帮助!
last
过程已经包含在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
我的计算机科学作业需要帮助。我一直在尝试 return 列表的最后一个元素,但我总是失败。这是我目前所拥有的:
(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!"]
[]))
我不知道从这里去哪里。我知道我缺少一个基本案例,但我无法弄清楚。请帮助!
last
过程已经包含在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