我正在編寫一個程序,該程序添加了用戶提供的列表的編號,但是,如果有字符串,它會給我一個錯誤。如何檢查列表中的元素是字符串還是數字? Thanx如何檢查一個變量是一個字符串還是序數?
0
A
回答
1
number/1
會告訴你,如果一個對象是一個數字。 atom/1
會告訴你,如果一個對象是一個原子,我認爲這是你的意思是一個字符串。如果你的意思是一個真正的字符串(字符代碼列表),那麼
string(Object) :-
forall(member(X, Object), number(X))
將做的伎倆。
所有這些都會在變量出現時失敗。
0
如果列表中包含要讀成數字的字符串:
...maplist(convert_element, List, OnlyNumbers),
convert_element(Num, Num) :- number(Num).
convert_element(String, Num) :- number_codes(Num, String).
convert_element(Unknown, 0) :- throw(unknown(Unknown)).
throw
可以用一條消息來替代......
+0
目標'convert_element(1,N)'用'N = 1'成功,但最終會在失敗時產生錯誤'unknown(1)'。你想要一些有條件的構造或否定來解決這個問題。 – false
相關問題
- 1. 檢查一個變量是一個unicode字符串的列表還是隻有一個unicode字符串
- 2. Java:檢測變量是一個字符串還是一個整數
- 3. 如何檢查一個ruby字符串是一個實際的字符串還是一個blob數據如image
- 4. 檢查字符串是一個數字
- 5. Python - 檢查一個字符串是以「是」還是「否」開頭?
- 6. 檢查一個字符串是X還是不是X
- 7. 如何檢查一個字符串是否是一個HashMap
- 8. 如何檢查一個對象是否是一個字符串?
- 9. 檢查一個字符串變量是否具有整數值
- 10. 如何檢查一個字符串是一個整數
- 11. 如何檢查一個變量是否等於一個字符串或另一個字符串?
- 12. 如何檢查一個字符串是否是數字?
- 13. 如何檢查一個變量是否是一個整數?
- 14. 檢查一個字符串是空的還是空的
- 15. Postgres查詢檢查一個字符串是一個數字
- 16. 檢查一個變量是否是一個CSV字符串中的值
- 17. 檢查一個變量是否是Ruby中的一個字符串
- 18. 如何檢查一個字符串是以一個子字符串開頭還是不在java中?
- 19. 如何檢查一個變量是一個jQuery對象還是純DOM元素?
- 20. 檢查一個字符是整數還是字母
- 21. 檢查一個字符串是一個字符串模式
- 22. 程序如何檢測字符串是數字還是字符?
- 23. 檢查一個字符串是否與變量名相等
- 24. 函數檢查字符串的第一個字符是否是一個字母
- 25. 檢查一個字符串的第一個字符是PHP中的字母還是數字?
- 26. 如何檢查一個變量是否爲空並且是一個數字?
- 27. 如何檢查一個字符串是否包含一個子字符串 - mysql
- 28. 如何檢查一個字符串是否等於另一個字符串?
- 29. 如何檢查一個字符串是否是純字母?
- 30. 正則表達式:確定一個字符串是數字還是變量
更好的命名,在答案的開始看到「對象」,能be:forall(member(X,List),number(X)) – CapelliC
@chac:我不完全明白你在說什麼,但是你的想法是,你可以將'forall'應用到列表的*元素* OP指的是(因爲Prolog中的字符串實際上是列表本身)。 –
有效地,我沒有理解你的線索,謝謝你的解釋。 – CapelliC