【发布时间】:2019-11-19 16:58:40
【问题描述】:
Prolog 列表有问题。
假设我有这个谓词:
array(p, [A,B,C]).
当我做:
array(p,X).
我得到了:X = [_,_,_]
现在,考虑到我有这个谓词:
p1(1) :- array(p1, [1,B1,C1]).
我希望得到:
X = [1,_,_]
但是,结果与以前相同。在 Prolog 中甚至可能发生这样的事情吗?另一个问题是,如果我们能以某种方式设置这些值,我们能否以同样的方式覆盖这些值?我知道在序言中变量只分配一次,但我想以某种方式获得一个动态列表。
【问题讨论】: