我在 PROLOG 中编写了我的第一个简单代码:
is_beginning([], _).
is_beginning([FirstLetterB|RestWordB], [FirstLetterW|RestWordW]) :-
FirstLetterB == FirstLetterW,
is_beginning(RestWordB, RestWordW).
它旨在找出 is_beginning 的第一个参数是否等于第二个开始。好吧,恕我直言,它可以很好地回答问题,但现在我想知道是否有可能获得定义的第二个参数的所有可能答案。例如。为了
is_beginning(Answers, [a,b,c]);
我希望得到 [], [a], [a,b], [a,b,c] 作为答案统一,但我只得到 [] (最简单的答案)。
有没有可能得到我想要的?也许我的定义有问题?我已经尝试使用 findall 和 forall,但对我来说效果不佳:(
感谢所有的答案。