我正在尝试编写谓词 range\3 ,它接受三个参数,第一个是开始,第二个是结束,并在第三个参数中返回生成的列表。
例如响(1,5,L)。
L = [1, 2, 3, 4, 5]
我用了这段代码
range(E,E,[E]).
range(S,E,L):-
S1 is S + 1,
range(S1,E,[S|L]).
但它不起作用,当我使用跟踪命令知道错误在哪里时,我认识到基本情况是无用的,我也尝试了绿色切割!在基本情况下但它不起作用 range(E,E,[E ]),!.
所以,如果有人知道是什么问题,请帮助我