我想定義一個方法,它將一個整數作爲輸入,並動態創建一個所有遞減整數數字爲零的列表。我發現n-1元素的調用方法存在問題如何在Scheme中創建和添加列表中的元素?
3
A
回答
5
這並不是那麼漂亮,但這應該可以在DrScheme中測試。
(define (gen-list x)
(if (= x 0) (list 0) (cons x (gen-list (- x 1)))))
0
如果您正在使用PLT方案中,推導庫將讓你這樣做而整齊:
; natural -> (listof natural)
(define (list-to-zero start-num)
(for/list ([i (in-range start-num 0 -1)])
i))
只是一個替代遞歸形式...
3
現在,它的一個作業問題,我認爲一個尾遞歸版本可能是一個替代方案。
(define (gen-list x)
(let lp ((n 0) (ret '()))
(if (> n x)
ret
(lp (1+ n) (cons n ret)))))
相關問題
- 1. 在Scheme/Racket的每個列表中添加一個元素(在列表中)?
- 2. 創建一個新列表,添加和從舊列表中添加元素
- 3. Scheme:在列表和子列表中搜索元素
- 4. 如何在python列表中添加列表中的元素?
- 5. 在列表中創建列表總和(Scheme)?
- 6. 如何添加列表項而不用在JQuery中創建新的html元素?
- 7. 在列表中創建元素以創建元素
- 8. Scheme將元素添加到列表的末尾
- 9. 在Python中創建列表和跳過元素的列表
- 10. 在列表中添加元素的Prolog
- 11. 如何從Scheme的列表中刪除非重複的元素?
- 12. 如何在列表中添加列表作爲元素?
- 13. 如何在列表中添加元素而不返回列表?
- 14. 如何在奇數索引中添加列表中的元素?
- 15. 如何在動態創建的元素中添加Javascript事件?
- 16. 如何添加數據到在XSLT中創建的元素
- 17. 在無序列表中創建元素
- 18. 在pyspark中按元素添加列表
- 19. 在列表中添加元素Python
- 20. 在方案中添加元素列表
- 21. 在R列表中添加元素
- 22. 在列表方案中添加元素
- 23. 創建和添加列,表
- 24. Scheme如何從列表中刪除元素?
- 25. Python |如何添加元素添加到列表中隨機
- 26. 在jQuery中創建和添加元素的方式更快?
- 27. 如何在python中添加元素到列表中
- 28. 如何在javascript中添加onclick事件以創建新元素
- 29. 在Iframe元素中添加動態元素比我創建
- 30. 如何從li元素列表中添加和刪除類?
難道不就是'(cons x ...)'而不是'(append(list x)...)'? – 2010-03-14 21:15:37
@彌敦道 - 正確和修復 – zellio 2010-03-14 21:17:48