首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yap Prolog -列表

Yap Prolog -列表
EN

Stack Overflow用户
提问于 2016-01-31 12:15:59
回答 1查看 116关注 0票数 1

我在Prolog中有一个列表示例:

代码语言:javascript
复制
list_where([Tequila,Whisky,Vodka],bathroom).
list_where([Martini,Musat],kitchen).
list_where([Malibu,Soho],under_the_bed).
list_where([Epita],everywhere).

现在,我在yap中查阅该文件(我在Ubuntu 15.10上使用YAP ),并启动以下查询:

代码语言:javascript
复制
list_where(X,bathroom).

我的结果是:

代码语言:javascript
复制
X = [_A,_B,_C] instead of X=[Tequila,Whisky,Vodka]

我如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-31 16:47:04

Prolog中以大写字母开头的标识符是变量,而不是原子。所以

代码语言:javascript
复制
[Tequila, Whisky, Vodka]

是一个变量列表。因此,当您查询list_where(X, bathroom)时,您将得到一个未实例化变量列表,YAP将其显示为[_A,_B,_C]

如果要使用大写原子,请使用单引号:

代码语言:javascript
复制
['Tequila', 'Whisky', 'Vodka']

或者,用小写:

代码语言:javascript
复制
[tequila, whisky, vodka]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35113746

复制
相关文章

相似问题

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