我是 prolog 的新手,我正在尝试弄清楚如何使用 if/else 语句和递归。为了说明,我编写了一个简单的 prolog 程序。该程序是无用的(因为它的功能是无用的),但它可以帮助我说明我的问题。程序获取一个列表,检查列表的头部,看看它是否是最后一个元素;如果不是,它将头部添加到临时列表变量中,并使用列表的尾部以递归方式运行程序。它应该在最后输出列表。该程序:
gothrough([H|T], B, C):-
append(B,H,B),
( (T == [])
-> C=B
; gothrough(T, B, C)
).
来电:gothrough([sample, phrase, here], [], C).
预期输出:C = [sample, phrase, here]
电流输出:no
对我做错了什么有帮助吗?
谢谢!