有沒有一種方法可以確定Prolog中列表中元素的類型?我知道變量沒有在Prolog中明確地輸入,但是我需要檢查一個元素是否是一個數字,一個特定的字符等等。這怎麼實現?Prolog類型檢查
10
A
回答
11
的Prolog定義了類型測試目的內置謂詞的組:var/1
,atom/1
,integer/1
,float/1
,atomic/1
,compound/1
,nonvar/1
,number/1
,所有的如果你知道這種語言的數據類型,那麼它們具有相當明顯的含義。對於特定的字符,在檢查元素不是自由變量(否則統一總是成功)之後,可以利用與該字符的統一。
-1
+0
不完整,不回答「但我需要檢查一個元素是否是數字,特定字符等」。 – Junuxx 2012-06-26 03:46:52
4
0
檢查列表,你可以嘗試:
listing(is_list/1, list_functor/1).
is_list(X) :-
functor(X, F, _),
list_functor(F).
list_functor('.').
list_functor('[]').
2
要檢查變量綁定到一個列表,你可以使用is_list/1
。
相關問題
- 1. 如何在prolog中查看類型檢查器?
- 2. 類(類型)檢查
- 3. 檢查類型
- 4. XSLT類型檢查
- 5. typedef類型檢查?
- 6. 類型檢查Erlang
- 7. 檢查Genric類型
- 8. Typetree類型檢查
- 9. 檢查泛型類型是
- 10. 類型檢查的子類
- 11. 類型檢查和範圍檢查
- 12. 類型檢查與泛型類
- 13. 類型檢查器的JavaScript?
- 14. 檢查類型被定義
- 15. 檢查父類型TPT EF4
- 16. 類型檢查器階段
- 17. 檢查facebook對象類型
- 18. 字符串類型檢查
- 19. 結構檢查類型| Swift
- 20. Ramda類型檢查助手
- 21. 檢查通用類型
- 22. OCaml:類型檢查對象
- 23. 檢查PyObjects C類型
- 24. 模板類型檢查C++
- 25. 如何檢查值類型?
- 26. 檢查請求類型
- 27. 的數據類型檢查
- 28. 檢查對象類型
- 29. 類型平等檢查
- 30. PHP文件類型檢查
對於比基元更復雜的類型,可以查看SWI_PROLOG記錄處理機制(http://tinyurl.com/2gy53rr)。這將允許您使用指定的訪問器字段來表示複合類型,並且會根據記錄規範自動生成所有類型檢查謂詞。很有用! – sharky 2010-10-05 22:41:57