2

在查询 Prolog 数据库时,通常会使用以大写字母开头的术语作为变量。但是,假设您查询的一个约束条件是一个人的位置必须是“达拉斯”,并且您想要查询数据库中符合这些规范的所有信息。您将如何正确确保 Dallas 不被解释为存储值的变量,而是被解释为字符串,以用作查询的约束?

4

1 回答 1

1

只需将达拉斯包装成单引号 : 'Dallas'。顺便说一句,这不是一个字符串,而是一个原子。例如,在具有默认设置的 Swi-Prolog 中,字符串将是:

?- X = "hello".
X = [104, 101, 108, 108, 111].

虽然原子将是

?- X = 'hello'.
X = hello.

它们都有自己的一组谓词和语义。

于 2012-04-06T18:26:47.200 回答