首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Prolog的列表

使用Prolog的列表
EN

Stack Overflow用户
提问于 2012-05-09 00:48:00
回答 1查看 354关注 0票数 3

我正在学习rooPlog,但在使用列表时遇到了一些麻烦。我想返回一个类的列表,这些类是指定类的先决条件。这是我到目前为止所做的。

代码语言:javascript
复制
prereq(262, 221).
prereq(271, 262).
prereq(331, 271).

prerequisites(A, B) :- not(prereq(A, C)).
prerequisites(A, [C|B]) :- prereq(A, C), prerequisites(C, B).

它是有效的,但在末尾添加了垃圾。

代码语言:javascript
复制
?- prerequisites(331, A).
A = [271, 262, 221|_G327] ;
false.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-09 01:12:19

也许你的意思是

代码语言:javascript
复制
prerequisites(A, []) :- not(prereq(A, _)).
prerequisites(A, [C|B]) :- prereq(A, C), prerequisites(C, B).

您必须确保您的数据中没有周期,这样才能正常工作...

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10502868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档