我正在努力了解如何正确使用(SWI)Prolog中的discontiguous/1
谓词。
让buumi.pl
成为这个伪事实的小文件:
discontiguous(buumi/1).
buumi(eins).
buri(zwei).
buumi(drei).
但是,运行
swipl -s Buumi.pl
仍然会发出以下警告:% swipl -s Buumi.prolog
Warning: [...]/Buumi.prolog:5:
Clauses of buumi/1 are not together in the source-file
该文档含糊不清,只是简单地指出
discontiguous :PredicateIndicator, ...
但没有给出具体用法示例。我有
找到了一些例子,表明我正确使用了它;至少,
swipl并没有提示,但同样,它也不符合我的要求。
我在这里做错了什么?
最佳答案
discontiguous/1
是一个ISO指令。你必须把它作为
:- discontiguous(pred/2).
在Prolog文本的开头。
关于prolog - SWI Prolog忽略不连续谓词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21891436/