Emacs-Lisp > dolist

雛形

(dolist (var init-form [result])
  本体 )
1. 最初にinit-formを評価し,リスト以外ならばエラーとなる.
2. 次に,そのリストのcarを変数varに順番に代入し、本体を評価して行く.
3. 2をリストが空になるまでループする.
4. result が指定されているときは result、指定がないときは本体の評価を返す.


第3引数なしの例

  1. (let (result)
  2. (dolist (x '(1 2 3))
  3. (setq result (cons x result)))
  4. result)
  5. ; => (3 2 1)

第3引数ありの例

  1. (let (result)
  2. (dolist (x '(1 2 3) result)
  3. (setq result (cons x result)))
  4. )
  5. ; => (3 2 1)

第3引数には式も書ける

  1. (let (result)
  2. (dolist (x '(1 2 3) (cons 'finished result))
  3. (setq result (cons x result))))
  4. ; => (finished 3 2 1)

もちろんこういう風にも書ける

  1. (let (result)
  2. (dolist (x '(1 2 3))
  3. (setq result (cons x result)))
  4. (cons 'finished result))
  5. ; => (finished 3 2 1)






最終更新:2014年05月26日 18:22