0
所以最近我學習了遞歸函數,我在嘗試一些練習,然後我只是卡住了。在使用球拍初學者語言編寫遞歸函數時遇到困難?
問題是 列表第n個項,消耗的列表,(LST),和一個自然數,(n),並且如果存在 產生在LST的第n個元素,否則函數產生假。注意 ,第一項是在索引0。例如:(list-nth-item (list 1 2 3) 0)
產生1
這是我的代碼
;;list-nth-item consumes list and a natural number
;;and produces the n-th element in the list or false
;;list-nth-item: List Nat -> (Anyof Any false)
(define (list-nth-item lst n)
(cond
[(empty? lst)false]
[(= n 0)(first lst)]
[else ????]))
(list-nth-item (list 1 2 3)2)--> should produce 3
因而我知道是不是適當的遞歸,同樣當n = 0時,應該首先產生列表示例中的數字(list-nth-item (list 1 2 3)0)
應該給1
。 我是新來的,只是沒有得到如何形成遞歸。