我在使用atom_chars时遇到以下错误
9 ?- atom_chars(9abc,X).
ERROR: Syntax error: Operator expected
ERROR: atom_chars(9
ERROR: ** here **
ERROR: abc,X) .有人能解释一下为什么会发生这个错误吗?我需要一个谓词,可以转换所有类型的输入,如abc,910,abc910,910abc等等,到一个字符列表。对于这种情况,有什么可以替代atom_chars的吗?谢谢。
发布于 2013-02-05 18:16:01
您应该用单引号将您的原子括起来:
?- atom_chars('9abc',X).近似地,当Prolog原子具有C标识符“shape”,但以小写字符开头(大写名称引入变量)时,它们可以不带引号。你可以安全地使用单引号。要了解一个原子是否需要单引号才能安全地读取,您可以使用如下内容
shape_to_read(Atom) :- format('~q', [Atom]).编辑或更简单的writeq/1
shape_to_read(Atom) :- writeq(Atom).https://stackoverflow.com/questions/14704453
复制相似问题