我在Prolog中有一个列表示例:
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 ),并启动以下查询:
list_where(X,bathroom).我的结果是:
X = [_A,_B,_C] instead of X=[Tequila,Whisky,Vodka]我如何解决这个问题?
发布于 2016-01-31 16:47:04
Prolog中以大写字母开头的标识符是变量,而不是原子。所以
[Tequila, Whisky, Vodka]是一个变量列表。因此,当您查询list_where(X, bathroom)时,您将得到一个未实例化变量列表,YAP将其显示为[_A,_B,_C]。
如果要使用大写原子,请使用单引号:
['Tequila', 'Whisky', 'Vodka']或者,用小写:
[tequila, whisky, vodka]https://stackoverflow.com/questions/35113746
复制相似问题