Prolog - 你如何区分一个字符串和一个变量?

时间:2012-04-06 18:21:37

标签: database prolog

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

1 个答案:

答案 0 :(得分:1)

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

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

虽然原子是

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

他们都有自己的谓词集和语义。