Lisp の dolist(反復)
loop と do に続いて、dolist を使ってみる。Lisp $B%W%m%0%i%_%s%0#1(Bによれば、dolist は foreach 文に相当するようだ。
サンプルを書いてみる。
>(setq lst '(1 2 3 4 5 6 7 8 9)) (1 2 3 4 5 6 7 8 9) >(setq result 1) 1 >(dolist (i lst result) (setq result (* result i))) ;Compiler warnings : ; In an anonymous lambda form at position 11: Undeclared free variable LST ; In an anonymous lambda form at position 0: Undeclared free variable RESULT (3 references) 362880
またよくわからないエラーが出た・・・LST は宣言されていない変数です、みたいに見えるが・・・
この前に(setq lst '(1 2 3 4...) とやっているのになぜこれが出るんだ?実行はできているみたいだが。