wow*_*ick 2 lisp recursion scheme list racket
我已经定义了一个列表(在Racket/Scheme中):
(define myList (cons 'data1 (cons 'data2 (cons 'data3 (cons 'data4 empty)))))
Run Code Online (Sandbox Code Playgroud)
要么
(list 'data1 'data2 'data3 'data4)
Run Code Online (Sandbox Code Playgroud)
我想写一个循环遍历列表并输出列表所有值的函数.
(define (outputListData list)
(cond
[(null? list) list]
[else (getListData)]))
Run Code Online (Sandbox Code Playgroud)
我可以通过什么功能循环浏览列表的内容?我知道可以使用first
&rest
来获取列表数据,但我想这不是正确的方法.
顺便说一句:有没有像php.net这样的好的,紧凑的球拍参考?我发现官方的Racket文档非常令人困惑......
你可以使用for循环.例:
(for ([x (list 1 2 3)])
(printf "~s -> ~s\n" x (* x x)))
Run Code Online (Sandbox Code Playgroud)
当然,有更多功能性方法可以做到这一点,但这种方式也有效.您可能希望查看如何设计程序的教科书来执行递归方法.见:http://www.ccs.neu.edu/home/matthias/HtDP2e/
归档时间: |
|
查看次数: |
9664 次 |
最近记录: |