「プログラミングGauche」P.64~ 66 7.2 手続きを取る手続き
ようは高階関数ということで。foldも高階関数ですね。
for-eachを試してみる。
| (for-each (lambda (n) (print (* n n))) '(1 2 3 4 5))             | 
tree-walk写経。
| ;; tree-walk            
 (tree-walk '(1 (2 3 (4 5 6)) 7 8 9 (10 (11 (12)))) for-each print)            | 
listを反転させるreverse。
| ;; reverse            
 (reverse '(1 2 3 4 5)) ;; => (5 4 3 2 1) | 
listを反転後にfor-eachするreverse-for-each。
| ;; reverse-for-each            
 (reverse-for-each print '(1 2 3 4 5))            | 
tree-walkにreverse-for-eachとprintを渡してみる。   
今気づいたけど、本に書いてあるコードと引数の順番違う。
| (tree-walk '(1 (2 3 (4 5 6)) 7 8 9 (10 (11 (12)))) reverse-for-each print)            | 
 
0 件のコメント:
コメントを投稿