【发布时间】:2021-11-17 15:35:50
【问题描述】:
我对我的规则有疑问。如果 Var1 和 Var2 是两个给定列表中的第一个元素,它应该返回 true。
这里没问题:
?- testpos([test1, test2, test3], [testA, testB, testC], test1, testA).
true.
?- testpos([test1, test2, test3], [testA, testB, testC], test1, testB).
false.
但我希望规则能够解决未知输入的问题。
例如(预期输出):
?- testpos([test1, test2, test3], [testA, testB, testC], Z, X).
Z = test1
X = testA
false.
我现在的代码:
testpos([X| _], [Y| _], Var1, Var2) :-
X == Var1, Y == Var2.
已解决
我的错误是我使用 == 而不是 =
【问题讨论】: