prolog - Prolog:从 X = x 的事实返回 Y 的列表
问题描述
我对 Prolog 很陌生,无法解决某个问题。假设我有几个 Facts fact(X,Y):
fact(a, m)。
事实(b,m)。
事实(c,n)。
事实(x,q)。
事实(x,y)。
事实(x,z)。
我想创建一个包含特定 X 的所有 Y 事实的列表。例如:
?- getList(x, LIST)。
列表 = [q,y,z]。
q,y,z 被返回,因为它们是在 X = x 的事实中找到的。
有没有快速的方法来做到这一点?我曾尝试使用递归遍历所有事实(x,Y)并附加每个 Y,但我无法使其工作。
先感谢您!
解决方案
推荐阅读
- excel - smb 可以帮助解决如何对相邻的非空白单元格求和,并获得聚集(分组)单元格的结果吗?
- c# - MVC 视图模型中的自定义显示名称
- javascript - 如何动态显示数组数组?
- stenciljs - 模板对象属性未设置,当它们通过 HTML 字符串提供时
- css - 如何修复 IE 图像和列 flexbox 错误?
- tensorflow - 为什么使用 TensorRT 使用 INT8 推理输出更多数据
- php - ACF - 更新字段名称和键
- r - dplyr 中的 boxplot.stats 与组
- c++ - 问题:具有新类数据类型的二维向量(嵌套向量)
- c# - 将 IsWix 模板添加到 Visual Studio 2015