私はSteeleのCommon Lisp the Languageを見てきました。私は顔が青く、まだこの質問があります。私がコンパイルした場合:(label-variety)関数を無視するようにLispコンパイラに依頼するにはどうすればよいですか?
(defun x()
(labels ((y()))
5))
(princ (x))
(terpri)
この処理が行われます。十分なフェア
home:~/clisp/experiments$ clisp -c -q x.lisp
;; Compiling file /u/home/clisp/experiments/x.lisp ...
WARNING in lines 1..3 :
function X-Y is not used.
Misspelled or missing IGNORE declaration?
;; Wrote file /u/home/clisp/experiments/x.fas
0 errors, 1 warning
home:~/clisp/experiments$
を。では、関数yを無視するようにコンパイラにどのように依頼しますか?私はこの試みた:
(defun x()
(labels (#+ignore(y()))
5))
(princ (x))
(terpri)
をし、それが働いた:
home:~/clisp/experiments$ clisp -c -q y.lisp
;; Compiling file /u/home/clisp/experiments/y.lisp ...
;; Wrote file /u/home/clisp/experiments/y.fas
0 errors, 0 warnings
home:~/clisp/experiments$
を何とか私は警告は私がやることを示唆しているものだとは思いません。
私は何をしますか?
'#+ ignore'は読者が次のフォーム全体をスキップできるようにします(' * features * 'に' ignore'がない限り) 。 – Svante
エドザッカリー。それが私の悪い計画だった。しかし、以下の答えで概説された良い計画が勝利を収めました。 :) –
CLtlとCLtl2はどちらも旧式の本であり、リファレンスや学習資料として使うのではなく、lispの歴史に興味のある人にのみおすすめします。現代のANSI共通のlispの読書については、Peter SeibelのPractical Common LispとConrad BarskiのLispのLandの両方をお勧めします。 –