【发布时间】:2012-03-09 00:53:58
【问题描述】:
我有一个名为myfor 的迭代器,这样当我调用myfor(3,7,X). 时,我希望它返回X = [3, 4, 5, 6, 7]。但是,此代码仅返回 X = [4, 5, 6, 7]。它跳过第一个。谁能告诉我怎么了?
myfor(A, A, []) :- !.
myfor(Start,End, Z) :-
End > Start,
NewValue is Start+1,
myfor(NewValue,End, L),
append([NewValue], L, Z).
【问题讨论】: