【发布时间】:2015-05-08 14:50:12
【问题描述】:
我是 Prolog 的新手。 我对谓词前缀有疑问,但有点不同。
我想得到一个列表的前缀,但直到一个元素 列表可以有重复元素。
一个例子:
prefix(Element, List, Prefix)
prefix(c, [a,b,c,d,e,f], [a, b])
不包含该元素。
我目前拥有的是这个
prefix(X, [X|T], []).
prefix(X, [Y|T], [Y|Z]):-
prefix(X, T, Z).
但它不起作用。
L = [a,b,c] ? prefix(b, L, Prefix).
no
?-
谢谢
【问题讨论】:
-
“:-”前缺少右括号。
-
请解释一下不起作用。
-
你最后一段代码中的问号是什么?它应该是一个分号。
-
@Danick:我更新了我的答案。