【问题标题】:Yap Prolog - ListYap Prolog - 列表
【发布时间】:2016-02-05 06:34:24
【问题描述】:

我在 Prolog 中有这个 List 的例子:

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]

我该如何解决这个问题?

【问题讨论】:

    标签: list prolog


    【解决方案1】:

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

    [Tequila, Whisky, Vodka]
    

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

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

    ['Tequila', 'Whisky', 'Vodka']
    

    或者,使用小写:

    [tequila, whisky, vodka]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      相关资源
      最近更新 更多