首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prolog SWI列表创建

Prolog SWI列表创建
EN

Stack Overflow用户
提问于 2013-11-25 05:26:20
回答 1查看 103关注 0票数 0

知识表示:

代码语言:javascript
复制
student('John','f214','A').
student('John','f222','B').
student('John','f213','C').
student('John','f343','D').

subject(f214,3).
subject(f222,3).
subject(f213,3).
subject(f343,3).

从Prolog SWI中给定的知识表示形式,我如何创建课程列表f214、f222、f213、f343和相应的成绩列表'A‘、'B’、'C‘、'D’

EN

回答 1

Stack Overflow用户

发布于 2013-11-25 05:57:11

您可以使用findall/3

代码语言:javascript
复制
?- findall(Course, subject(Course, _), Courses).
Courses = [f214, f222, f213, f343].

?- findall(Grade, student(_,Grade,_), Grades).
Grades = [f214, f222, f213, f343].

?- findall(course_grade(Course, Grade), (subject(Course,_), student(_,Course,Grade)), CoursesGrades).
CoursesGrades = [course_grade(f214, 'A'), course_grade(f222, 'B'), course_grade(f213, 'C'), course_grade(f343, 'D')].
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20181228

复制
相关文章

相似问题

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