尝试使用prolog将变量分配/提取到列表列表中的不同元素

时间:2017-12-27 09:49:30

标签: prolog

我正在努力解决这个Prolog problem,但是,我正在努力让我的解决方案正常运转,并且想知道是否有人可以帮我修复错误 - example trace。这是我到目前为止的代码;

console.log(process.env.MONGODB_URI)

编辑:问题已修复。解决方案:working code

1 个答案:

答案 0 :(得分:0)

您需要在几个地方替换方括号到paranthesis。这是完整的代码,完全可以在swi - prolog上运行。我已经添加了剪切并完成了一些用于优化的语句。

process(_L1, [], [], []):- !.
process(L1, [H2|T2], [H2|T], Inconsistent):-
    H2 = (Name, Number, _Info),
    elementInList(L1, (Name, Number)), !,
    process(L1, T2, T, Inconsistent).
process(L1, [H2|T2], Consistent, [H2|T]):-
    H2 = (Name, Number, _Info),
    \+ elementInList(L1, (Name, Number)),
    process(L1, T2, Consistent, T).

elementInList([H|_], H):- !.
elementInList([_|T], E):-
    elementInList(T, E).