Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 返回drracket中列表的最后一个元素_List_Recursion_Racket_Element - Fatal编程技术网

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

这对我帮助很大!我感谢你的帮助!这对我帮助很大!我感谢你的帮助!