如何在SWI-Prolog中使用谓词转置?
大家好,我想在SWI Prolog中使用predicate如何在SWI-Prolog中使用谓词转置?,prolog,swi-prolog,Prolog,Swi Prolog,大家好,我想在SWI Prolog中使用predicatetranspose(Matrix0,Matrix),当Matrix0和Matrix0是列表的列表,并且每个列表的“列”是另一个列表的“行”时,它就起作用了。问题是当我添加:-确保加载(库(clpfd))。到我的源文件并尝试使用它时,我得到了这个 % library(occurs) compiled into occurs 0.00 sec, 14 clauses % library(apply_macros) compiled
transpose(Matrix0,Matrix)
,当Matrix0
和Matrix0
是列表的列表,并且每个列表的“列”是另一个列表的“行”时,它就起作用了。问题是当我添加:-确保加载(库(clpfd))。
到我的源文件并尝试使用它时,我得到了这个
% library(occurs) compiled into occurs 0.00 sec, 14 clauses
% library(apply_macros) compiled into apply_macros 0.00 sec, 44 clauses
% library(assoc) compiled into assoc 0.00 sec, 103 clauses
ERROR: /Users/Benjamin/Documents/prologworkspace/test.pl:27:
import/1: No permission to import clpfd:transpose/2 into user (already imported from ugraphs)
% library(clpfd) compiled into clpfd 0.08 sec, 1,372 clauses
% test compiled 0.08 sec, 1,388 clauses
true.
当我尝试这个时,我得到了false
:
?- transpose([['_','_'],['_','_']], X).
false.
有什么建议吗?多谢各位
导入/1:不允许将clpfd:transpose/2导入用户(已从ugraphs导入)
你有名字冲突。这不是clpfd:transpose/2
本身的问题
要不导入模块的所有导出谓词,请使用
:- use_module(library(clpfd), []).
然后需要调用clpfd:transpose/2
,包括名称空间
到岸价
clpfd:transpose/2
本身的问题
要不导入模块的所有导出谓词,请使用
:- use_module(library(clpfd), []).
然后需要调用clpfd:transpose/2
,包括名称空间
到岸价
clpfd:transpose/2
本身的问题
要不导入模块的所有导出谓词,请使用
:- use_module(library(clpfd), []).
然后需要调用clpfd:transpose/2
,包括名称空间
到岸价
clpfd:transpose/2
本身的问题
要不导入模块的所有导出谓词,请使用
:- use_module(library(clpfd), []).
然后需要调用clpfd:transpose/2
,包括名称空间
到岸价