首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prolog atom_chars错误

Prolog atom_chars错误
EN

Stack Overflow用户
提问于 2013-02-05 17:48:41
回答 1查看 578关注 0票数 1

我在使用atom_chars时遇到以下错误

代码语言:javascript
复制
 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的吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-02-05 18:16:01

您应该用单引号将您的原子括起来:

代码语言:javascript
复制
?- atom_chars('9abc',X).

近似地,当Prolog原子具有C标识符“shape”,但以小写字符开头(大写名称引入变量)时,它们可以不带引号。你可以安全地使用单引号。要了解一个原子是否需要单引号才能安全地读取,您可以使用如下内容

代码语言:javascript
复制
shape_to_read(Atom) :- format('~q', [Atom]).

编辑或更简单的writeq/1

代码语言:javascript
复制
shape_to_read(Atom) :- writeq(Atom).
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14704453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档