「プログラミングGauche」 P.66
map リストの各要素に引数の手続きを適用し、結果をリストにして返す。 リスト内の順序は保持されても、引数の手続きがリストの順番通りに適用される保証はない。 |
map
;; map |
mapにprint手続きを渡してみる。
(map (lambda (n) (print n)) '(1 2 3 4 5)) |
mapにlambdaを渡してみる。
(map (lambda (n) (* n 2)) '(1 2 3 4 5)) |
木構造リストの末端要素(リーフ)に手続き(proc)を適用するtree-walk。
走査手続きwalkerにはfor-each手続きを渡してみる。
;; tree-walk |
tree-walkにmapを渡してみる。
;; tree-walk with map |
以前も書いたがリストを逆順にするreverse手続きを使う。
;; reverse (reverse '(1 2 3 4 5));; => (5 4 3 2 1)
;; reverse (reverse '(1 2 3 4 5)) ;; => (5 4 3 2 1) |
逆順に手続きを適用する。
;; reverse-map (reverse-map (lambda (n) n) '((1 2) 3 (4 (5 6 (7))) 8)) (tree-walk reverse-map (lambda (n) n) '((1 2) 3 (4 (5 6 (7))) 8)) |
0 件のコメント:
コメントを投稿