我在序言中有一个包含多个项目的列表。我需要“规范化”这个列表的内容并将结果写入一个新列表。但是我这样做仍然有问题。以下代码显示了我是如何做到的:
normalizeLists(SourceList, DestList) :-
% get all the member of the source list, one by one
member(Item, SourceList),
% normalize the item
normalizeItem(Item, NormItem),
% add the normalize Item to the Destination List (it was set [] at beginning)
append(NormItem, DestList, DestList).
问题出在附加谓词中。我想这是因为在 prolog 中,我不能在命令式编程中做类似的事情,例如:
DestList = DestList + NormItem,
但是我怎么能在 Prolog 中做这样的事情呢?或者如果我的方法不正确,我该如何编写 prolog 代码来解决此类问题。
非常感谢任何帮助。
干杯