雛形
(dolist (var init-form [result])
本体 )
1. 最初にinit-formを評価し,リスト以外ならばエラーとなる.
2. 次に,そのリストのcarを変数varに順番に代入し、本体を評価して行く.
3. 2をリストが空になるまでループする.
4. result が指定されているときは result、指定がないときは本体の評価を返す.
例
第3引数なしの例
(let (result)
(dolist (x '(1 2 3))
(setq result (cons x result)))
result)
; => (3 2 1)
第3引数ありの例
(let (result)
(dolist (x '(1 2 3) result)
(setq result (cons x result)))
)
; => (3 2 1)
第3引数には式も書ける
(let (result)
(dolist (x '(1 2 3) (cons 'finished result))
(setq result (cons x result))))
; => (finished 3 2 1)
もちろんこういう風にも書ける
(let (result)
(dolist (x '(1 2 3))
(setq result (cons x result)))
(cons 'finished result))
; => (finished 3 2 1)
最終更新:2014年05月26日 18:22