2010年11月5日金曜日

loop

loop for 変数 in lst を使用するときはループキーワードとセットで使用する。
他の繰り返しはここを参照。
ループキーワード: append, appending, collect, collecting, nconc, nconcing はリストの中に値を蓄積し、最後にそのリストを返す。

ループキーワード: count, counting, maximize, maximizing, minimize, minimizing, sum summing は数値の累積/積算をし、最後にその値を返す。

(loop for alphabet in '(a b c d e)
      collect alphabet
      )

>(A B C D E)

;; lst に値が蓄積されるが collect はに値を返さない
(loop for alphabet in '(a b c d e)
      collect alphabet into lst
      )

>NIL


(loop for num in '(1 2 4 5 7 9 3 5 7 1)
      maximize num
      )

>9


;; append nconc の引数はlist. atomを渡すとエラー。
(loop for lst in '(a b (c d) (e f))
      if(listp lst) nconc lst)
>(C D E F)

0 件のコメント:

コメントを投稿