我試圖寫一個函數可以說A(n)
變量在Lisp程序
這是應該有一個列表
(the answer is n)
n是列表中的任意整數,我希望當我鍵入(A 4)
它應該顯示(the answer is 4)
我不是當然如何去想它使用setq and the list function
但如何構造它使我感到困惑我只是一個試圖學習lisp的新手,任何想法或書我可以讀我將不勝感激。
我試圖寫一個函數可以說A(n)
變量在Lisp程序
這是應該有一個列表
(the answer is n)
n是列表中的任意整數,我希望當我鍵入(A 4)
它應該顯示(the answer is 4)
我不是當然如何去想它使用setq and the list function
但如何構造它使我感到困惑我只是一個試圖學習lisp的新手,任何想法或書我可以讀我將不勝感激。
(defun A (n)
(list 'the 'answer 'is n))
(A 4)
=> (the answer is 4)
你的問題的另一部分是什麼書讀。通常人們推薦閱讀「Practical Common Lisp」這本書,其中有一本對Common Lisp非常友好且易於閱讀的介紹。然後是Cliki.net上的「Getting Started」文章。這應該足以開始使用該語言。
謝謝,我戴上了錯誤的帽子。 –
我個人比較喜歡quasiquotes:'\'(答案是,n)'。 –
@ ChrisJester-Young必須提到的是,這種功能可以返回字面conses。 例如,如果代碼是 '(,n是答案是什麼) 而這可能導致非明顯的錯誤。請參閱[爲什麼此地圖可能導致我的REPL凍結?](http://stackoverflow.com/questions/20207041/why-does-this-mapcan-cause-my-repl-to-freeze) – Menschenkindlein