例如,我在
之后创建列表length(List,5),
List :: 1..5,
我想设置列表的第二个元素,它看起来像
List[1] :: 1..2
%列表,从0到4
我不知道如何实现它?
非常感谢:)
答案 0 :(得分:1)
例如,在Swi-prolog中使用in
运算符,我可以这样做:
init_static(List) :- length(List, 5), List in 1..5, List = [_,Y|_], Y in 1..2.
如果我事先知道我需要第二个元素的特定约束。
概括任何索引:
init_dynamic(I, List) :- length(List, 5), List in 1..5, length(L1, I), Y in 1..2, append(L1, [Y|_], List).
所以对第二个元素的查询是:
init_dynamic(1, [1,2,4,3,5]).
true.
我假设您可以在其他Prolog变体中使用::
运算符执行类似的操作。