prog

Title
prog
Type
Macro
Arguments
prog VARLIST &body BODY
Package
lisp
Section
制御構造
File
evalmacs.l
let と block と tagbody を合わせた制御構造です。

VARLIST によって局所変数を作り BODY を評価する点は let と同じですが、
BODY の中で return が使える点、ラベルを作ってジャンプできる点が異なります。

例:
  (let ((x 1)) (return x))
  => `return-from'のキャッチャを参照できません: nil

  (prog ((x 1)) (return x))
  => 1

  (prog ((x 0))
    tag
    (princ x)
    (incf x)
    (if (= x 10)
        (return x)
      (go tag)))
  -> 0123456789
  => 10
Seealso
prog*
let
tagbody