我正在编写一个程序,该程序添加了用户提供的列表的编号,但是,如果有字符串,它会给我一个错误。如何检查列表中的元素是字符串还是数字? 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