小编Nat*_*han的帖子

Prolog - 在特殊情况下消除重复答案的更好方法?

我在使用这两行时遇到了麻烦:

list_swizzle(L, [], L).
list_swizzle([], L, L).
Run Code Online (Sandbox Code Playgroud)

问题是,如果前两个参数都是空列表,则前两个语句都将被使用,返回相同的答案.但是,如果我把一个切入一个,它会破坏回溯.我最终把它放在它们上面:

list_swizzle([], [], []):- !.
Run Code Online (Sandbox Code Playgroud)

它有效.但我想知道是否有更优雅的解决方案.

prolog prolog-cut

5
推荐指数
1
解决办法
891
查看次数

标签 统计

prolog ×1

prolog-cut ×1