gpt4 book ai didi

prolog - current_predicate/1 不适用于 :- dynamic?

转载 作者:行者123 更新时间:2023-12-01 14:33:35 25 4
gpt4 key购买 nike

我在 Prolog 中使用断言定义了一些谓词。

我正在使用 current_predicate/1 来了解断言是否已经运行(只需要断言一个值)。

但是,swipl 一直在提示:

Warning: The predicates below are not defined. If these are defined
Warning: at runtime using assert/1, use :- dynamic Name/Arity.
Warning:
Warning: amountOfStudentsInCourseAsserted/2, which is referenced by

所以,我添加了 :- dynamic amountOfStudentsInCourseAsserted/2,但不幸的是,这将谓词添加到 current_predicate(Predicate).. 因此我不能使用 current_predicate/1 如果我使用此动态命名,则不再使用。

是否有另一个像 current_predicate/1 这样的谓词不适用于动态名称?

最佳答案

您可以选择使用 predicate_property/2 内置谓词和 number_of_clauses/1 属性。

关于prolog - current_predicate/1 不适用于 :- dynamic?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34485686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com