gpt4 book ai didi

Prolog 解包列表谓词

转载 作者:行者123 更新时间:2023-12-04 01:36:08 25 4
gpt4 key购买 nike

我试图创造一些像这样工作的东西:

?- unpacking([[1], [1,2], [3]], Lst1, NewLst).
NewLst=[1,3]

我是这样写的:
unpacking([], Lst1, Lst1).
unpacking([[H]|T], Lst1, NewLst):-
append([H], Lst2),
unpacking(T, Lst2, NewLst).
unpacking([_|T], Lst1, NewLst):-
unpacking(T, Lst1, NewLst).

我知道我做错了什么。我从 Prolog 开始,所以需要从我的错误中吸取教训:)

最佳答案

你可能的意思是:

unpacking([], []).
unpacking([[E]|T], [E|L]) :-
unpacking(T, L).
unpacking([[]|T], L) :-
unpacking(T, L).
unpacking([[_,_|_]|T], L) :-
unpacking(T, L).

有更简洁的方法来写这个 - 也更有效。

关于Prolog 解包列表谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43723424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com