我对 Prolog 中的列表列表有疑问。例如,我有这些事实:
fact(1, 'hello').
fact(2, 'boy').
fact(3, 'hello').
fact(4, 'girl').
以及由 (Character, Id) 等对组成的列表:
list([b, 1, b, 2, g, 3, g, 4]).
我的目标是返回这样的列表列表:
newList(['hello', boy'], ['hello', 'girl']).
编辑:第一个列表必须拆分为更多共享相同字符的列表
list([b, 1, b, 2], [g, 3, g, 4]).
那么,应该去掉 Character
list([1, 2], [3, 4]).
并用相应的原子替换 id,如下所示:
list(['hello', 'boy'], ['hello', 'girl']).