gpt4 book ai didi

import - 无权重新定义 imported_procedure

转载 作者:行者123 更新时间:2023-12-01 13:19:25 24 4
gpt4 key购买 nike

我正在尝试创建一个名为 vertices/2 的谓词,定义为:

vertices(G, Vs):- findall(V, vertex(G, V), Vs).

当我查阅我的文件序言时,出现错误:

No permission to redefine imported_procedure `ugraph:vertices/2'

如何避免重新定义?

谢谢

最佳答案

SWI-Prolog 提供了一个ugraphs 库模块,而不是ugraph。我认为这只是一个错字?

假设您在与vertices/2 谓词相同的上下文中加载ugraphs 库模块,为什么不简单地重命名您的谓词呢?例如。 我的顶点/2。另一种可能的选择是加载 ugraphs 模块而不导入其谓词,方法是:

:- use_module(library(ugraphs), []).

这将解决冲突,但也需要您使用显式限定调用 ugraphs 模块谓词。

也可能是 ugraphs 模块不是由您显式加载的,而是您可能正在加载的其他模块的结果。如果是这种情况,请打开详细的自动加载以找出加载模块的原因:

?- set_prolog_flag(verbose_autoload, true).

关于import - 无权重新定义 imported_procedure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51176434/

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