【发布时间】:2020-04-27 06:58:01
【问题描述】:
我有两个问题正在处理,我只是很难理解这个问题。第一个是
创建一个 Prolog 谓词 flatten_append/3,它有 3 个参数,都是列表。第三个列表应该等价于第一个列表的扁平化版本和第二个列表的扁平化版本的串联。例如,flatten append([1,2,[3,4,5],[6]],[[7],[8,[9]]],X) 应该成功将 X 绑定到列表 [1, 2,3,4,5,6,7,8,9]。使用内置谓词 append/3 和 flatten/2。
创建谓词是否意味着我创建了一个新文件,然后我参考它来运行?同样对于三个参数是这样的thing([], [X], X) 还是只有一个,我需要这样的三个参数?
thing([],[X],X).
thing([H|T],[H|X],Y) :- H = 1, anything(Y,Z), thing(T,X,Z).
thing([H|T],[H|X],Y) :- H = 0, nothing(Y,Z), thing(T,X,Z).
最后说成功绑定X是什么意思?是否有特定的订单,或者最后你分配的 X 等于你刚做的?谢谢
【问题讨论】:
标签: prolog