我被SWI-prolog中的列表所困扰。在Prolog中,一个变量只能写一次,所以我不能处理这个问题。因此,谓词check/3接受一个参数,一个列表,并给出最终结果。get_ Res /3给了我一个中间的结果,我用来作为check/3的递归用例的输入。所以在result中,我必须对每个递归调用都有Res。我试图在递归调用之前使用append(Parameter,[],Result),但是第一次成功了,然后失败了,因为Res
我想知道一个可以包含如下内置调用的Prolog:Calculates all solutions to generator.因此,例如,要在不使用递归的情况下对列表求和,您可以这样写:
X is 0, accum(member(Val,List), True, X is X + Val).有没有带有这个结构或类似结构的Prolog?请记住,我是Prolog的新手,可能会遗漏一些明显的东西。