Prolog SWI。
假设我有一个递归函数,可以在每次迭代中将X项添加到列表中。 看起来像:
func(...,BigList):-
func2(...,CurrentList),
BigList = [ CurrentList | Tail ],
func(..., Tail).
我尝试删除不重要的部分,以便于阅读。
我会解释: 假设func将一些项添加到BigList。 在每次迭代中,func2初始化CurrentList,将其添加到BigList。
问题是BigList看起来像:
[[iter1item1,iter1item2,...,iter1itemX],[iter2item1,iter2item2,...,iter2itemX],..[iterXitem1,iterXitem2,...iterXitemX]]
而不是:
[iter1item1,iter1item2,...,iter1itemX,iter2item1,iter2item2,...,iter2itemX,..iterXitem1,iterXitem2,...iterXitemX]
我只是说它可能是一个简单的解决方案,但我是Prolog的新手,而且谷歌搜索的20分钟并没有真正帮助。我认识到这个问题,但不知道我怎么想编写代码使它能按照我想要的方式工作。