![]() |
1
3
首先,正如注释中已经提到的,您的谓词
其次,如果只是关于最一般查询的输出,则可以编写一个arity 1的包装谓词,将两个参数和结果显示为三元组:
如果您查询
如果您查询
编辑
在上面的示例中,您可以观察到Prolog提供的每个答案如何由查询中出现的每个变量的替换组成,从而使这些替换满足关系。这是在上面的“技巧”中查询时使用的属性
查询此谓词将生成所需的输出:
请注意谓词生成的输出与Prolog提供的答案之间的差异。如果您更喜欢与GNU Prolog的答案更相似的输出,您可以定义如下:
然而,请记住,这只是格式化的输出,不会改变Prolog提供答案的方式。因此,对于您希望以个性化方式回答的每个谓词,您必须提供一个输出谓词。要查看生成输出的更多选项,请查看上的文档 formatted write 。 |
![]() |
Sam · 如何在Swi Prolog中对元组列表排序 6 年前 |
|
davo · 序言:delete谓词如何提供列表的开头 6 年前 |
|
Zeph · 在Prolog中添加到列表列表 6 年前 |
|
Deeps · 在prolog中截断浮点数 6 年前 |
|
Anthony Gauthier · 分析不同规则中的规则体 6 年前 |
![]() |
quixote · 如何在swi prolog中删除命令历史记录 6 年前 |
|
Walker · Prolog比较列表[关闭] 6 年前 |
![]() |
user7303261 · 在prolog中运行main 6 年前 |
![]() |
MasterYork42 · Prolog逻辑难题不起作用? 6 年前 |