go to - lisp-cookbook-ja/common-lisp GitHub Wiki

制御構造

go to

手続き型言語でいうところのgo to文も使えます。 Lispらしくないとか構造化言語には不要であるとかいろいろあるでしょうが、用意はされているので使うかどうかはあなた次第です。

制御を任意の場所に移すには、tagbodygo を使います。

(defun foo ()
  (tagbody
   label1
     (print 1)
     (go label3)
   label2
     (print 2)
     (return-from foo 2)
   label3
     (print 3)
     (go label2)))
⚠️ **GitHub.com Fallback** ⚠️