什麼是Lisp中的一個有條件的例子?請解釋代碼。什麼是Lisp中的一種有條件的示例?
回答
一個例子是Common Lisp的LOOP
:
(loop for item in list
when (general-predicate item)
collect it)
可變IT
具有測試表達式的值。這是ANSI Common Lisp LOOP
設施的一項功能。
實施例:
(loop for s in '("sin" "Sin" "SIN")
when (find-symbol s)
collect it)
返回
(SIN)
因爲只有"SIN"
爲現有符號,這裏的符號SIN
的名稱。在默認情況下,Common Lisp符號名稱具有內部大寫名稱。
Paul Graham的On Lisp有一章Anaphoric Macros。
從本質上講,它是避免重複代碼的簡短寫法語句。例如,比較:
(let ((result (big-long-calculation)))
(if result
(foo result)))
和
(if (big-long-calculation)
(foo it))
其中it
是指無論在(big-long-calculation)
剛剛計算出一個特別的名字。
** @ Greg Hewgill:**謝謝,仍然有點迷失在Paul Graham的代碼中,但處理起來很有趣。 – blunders 2010-10-13 02:11:11
@blunders:確實。除非你已經非常熟悉Lisp中不同類型的宏,否則宏觀起始宏可能不是最好的開始。關於Lisp是一個很棒的閱讀。 – 2010-10-13 02:19:41
** @ Greg Hewgill:**同意。我已經掃描了幾本LISP書籍,主要是The Little Schemer等。 「有害條件」隨機出現在對這個問題的研究中:http://stackoverflow.com/questions/3920046/is-it-common-for-a-language-to-evalute-undefined-as-equal-to-假如果是爲什麼 - – blunders 2010-10-13 02:26:19
- 1. 這是什麼意思一種語言是LISP的一種方言?
- 2. 什麼是LISP中的宏的謂詞
- 3. In Common Lisp什麼是印刷表示?
- 4. Lisp中的函數「defs」是什麼?
- 5. LISP中的#是什麼意思
- 6. Lisp/Scheme中的'(撇號)是什麼?
- 7. 什麼是不同種類的病例?
- 8. Lisp中的複合條件
- 9. zcml:condition的有效條件是什麼?
- 10. TensorFlow - Cifar10示例中的random_crop是什麼?
- 11. 什麼是DatePickerDialog中的DATE_DIALOG_ID示例
- 12. FragmentTabHost示例中的R.id.realtabcontent是什麼?
- 13. Dapper示例中的'#'是什麼?
- 14. 是否有一種更容易的方式來表示C++中的條件?
- 15. 什麼是有條件的web框架的條件
- 16. 有條件顯示錯誤...爲什麼它是真的?
- 17. 什麼是有條件顯示標籤的ASP.NET MVC等價物?
- 18. Common Lisp:什麼是#+零?
- 19. 究竟是什麼是一個種子文件中的info_Hash
- 20. LISP的哪種方言是「人工智能編程的範例」?
- 21. 瞭解什麼似乎是一種方法的實例化
- 22. 沒有條件的條件是什麼意思?
- 23. 你推薦的Emacs Lisp是什麼?
- 24. 什麼是Lisp Cons Cell的定義?
- 25. #+:和#的含義是什麼#::in common lisp
- 26. 爲什麼angularFire示例會刪除我的所有Firebase條目?
- 27. 什麼是驗證多種複雜條件的良好模式?
- 28. 多種條件下GET資源的最佳做法是什麼?
- 29. 這種條件下的邏輯缺陷是什麼?
- 30. 什麼是這種稱爲競爭條件的解決方案?
我只熟悉術語「照應」,因爲它涉及到自然語言 - 例如,代詞可以被認爲是對前面提到的名詞的指代。 「John是一名程序員,他爲Google工作。」在這個例子中,「他」是對「約翰」的指代。所以我認爲你需要解釋在Lisp編程的背景下什麼是「指代性條件」 - 這不是一個常用術語。 – 2010-10-13 01:42:58
** @ Jim_Lewis:**下面是在Lisp編程環境中,「條件反射」的含義:http://weblogs.java.net/blog/2006/06/29/more-literate-programming-language- level-annaphora – blunders 2010-10-13 01:52:06
@Jim Lewis:不出所料,這就是指代宏時指代*指代的含義。查看我的回答鏈接和示例。 – 2010-10-13 01:55:47