【发布时间】:2015-09-29 05:19:37
【问题描述】:
我在 Prolog 中创建列表时遇到此问题,有时有助于创建此列表的谓词返回一个空列表 []。最后,我最终得到一个看起来像 [[1, 2, 3], []] 的列表,例如,当我宁愿它是 [[1, 2, 3]] 时。
当我将它从与列表的其余部分一起返回时,如何停止该空列表?我的逻辑编程不是很强大,但在其他语言中我会简单地说,如果不是空的:追加,否则什么都不做。
这在 Prolog 中可行吗?
编辑:举个例子,假设我有以下谓词:
put_together(Value1, Value2, Result) :-
Result = [Value1, Value2].
我打电话给put_together(1, 2, Result). 并按预期得到Result = [1, 2]。但是如果我打电话给put_together(1, [], Result).,我会得到我不想要的Result = [1, []],我宁愿让最后的空列表消失,这只是[1]。
【问题讨论】: