タグ

loopに関するNobuhisaのブックマーク (3)

  • LOOP for Black Belts

    22. LOOP for Black BeltsIn Chapter 7 I briefly discussed the extended LOOP macro. As I mentioned then, LOOP provides what is essentially a special-purpose language just for writing iteration constructs. This might seem like a lot of bother--inventing a whole language just for writing loops. But if you think about the ways loops are used in programs, it actually makes a fair bit of sense. Any progr

    Nobuhisa
    Nobuhisa 2008/07/09
    Practical Common Lisp の Chapter22
  • Common Lisp's Loop Macro Examples for Beginners

    CLTL's Loop Reference HyperSpec's Loop Reference Peter Karp's Loop Tutorial Iteration for each element in a list: > (loop for i in '(1 2 3) do (print i)) 1 2 3 Iteration for each cdr of a list: > (loop for i on '(1 2 3) do (print i)) (1 2 3) (2 3) (3) Iteration for each element in a vector: > (loop for i across #(1 2 3) do (print i)) 1 2 3 Iteration for each key of a hashtable: > (setf h (make-has

  • Common Lisp: loopマクロ用法抄

    GrahamのANSI Common Lispでは嫌われていて碌に説明のないloopマクロ。一方、Practical Common Lispでは対照的に好んで用いられていて、全編に渡って頻繁に使われている。しかしloopマクロは難しいという意識があるのかその説明は第22章とかなり後回しにされており、ちぐはぐな感を受ける。ここでは、LOOP for Black-Belts という題のつけられたその章で解説されているloopマクロの用法を整理してみた。 ANSI Common Lispでの黒魔術扱いに敬遠していたloopマクロだったが、こうして整理してみるとそれほど難しく考えずとも便利に使うことができそうだ。 目次 繰り返し 計数繰り返し コレクション内繰り返し 変数更新しながら繰り返し ループ終了条件の追加 アクション 集約 ループ内ローカル変数 任意の式の実行 条件分岐 ループ中断 その他

    Common Lisp: loopマクロ用法抄
  • 1