4
A
回答
1
第一個條款意味着如果您只有一個元素在列表中的真實(Y)將有頭。所以是的,這是一個切入點,因爲它告訴prolog如果成功達到那一點就停止尋找答案。然後第二個條款擴展到列表中有多個元素。
3
的head/2
的實現很簡單:
head([X | _], X).
注意下劃線這裏的意思是「我們不關心零個或多個元素」。
沒有必要單獨列出只有一個元素(然後使用剪切)的情況。
+0
列表是[1,2,3] = [1 | [2 | [3 | []]]]。下劃線與此案例的任何列表相統一。附:頭部的第一條規則等於'head([Y | []],Y): - !。'這個剪切是必需的,或者在其他情況下它會與'head([X | Y],X)會產生額外的結果。 – ony 2010-04-07 13:15:35
相關問題
- 1. 瞭解Malloc實施
- 2. 序言Kbase實施
- 3. 瞭解這個CSV頭
- 4. 瞭解JQuery的SPA實施
- 5. Spidermonkey:實施「這個」?
- 6. 瞭解這個程序
- 7. 那我在這Dopri5做錯了實施
- 8. 試圖瞭解Youtube Leanback實施
- 9. 瞭解這個bitset實現(C++)
- 10. 幫助我瞭解瞭解如何使用這個實現
- 11. 我是否正確實施了這個極小極大功能?
- 12. 實施,除了第一個元素
- 13. 明確實施了IDisposable
- 14. 瞭解此實現反向列表在序言
- 15. 實施語法降低語言解析器
- 16. 實施(<++)內一個Haskell解析器
- 17. 瞭解序言中的簡單遞歸
- 18. 瞭解序言列表和遞歸
- 19. 什麼集合最好實施這個程序?
- 20. 解決不了這個:
- 21. 瞭解這個C++模塊?
- 22. 瞭解這個C#代碼
- 23. 瞭解這個的Lua SNIPPIT
- 24. 瞭解這個unix腳本
- 25. 瞭解這個python代碼
- 26. 瞭解這個Clojure代碼
- 27. 瞭解這個Scala代碼
- 28. 一個語言有了這些特質
- 29. MPI排序實施
- 30. 實施p2p程序
嘗試一下,不要削減,看看你得到什麼。 – outis 2010-04-06 22:42:22