以下のこの関数は、リスト内の数値をチェックします。たとえば、ここでは 12 を探しています。12 があればT
(true) を返し、なければ を返します NIL
。構文を理解しようとしていますが、ちょっと混乱しています。このコードが何をするのか簡単な英語で説明できる人はいますか?
1> (defun an (&rest n)
(block nil
(setq x (car n))
(setq n (cdr n))
(loop (< x 100)
(setq n (cdr n))
(if (eq x 2) (return (eq (car n) 12))) (setq x (1- x)))))
AN
2> (an 2 3 4 5 66 7)
NIL
3> (an 2 3 12 3 4 5)
T
追加の質問: どのように機能する&rest
か、または何をしますか?