如何从另一个文件调用事实和规则

How to call facts and rules from another file

案例:我有一个文件,solution.pl,我想在其中使用另一个文件的规则(这是程序的定义,不由我决定,但我认为它有点通用)。

所以我正在使用 Ciao Prolog,语法似乎是 ensure_loaded('c:/Path').

但是当我尝试使用其他文件的规则时,它告诉我他不知道我正在尝试使用什么规则。

另一方面,如果我在控制台上写入相同的通道,然后再次查询,它确实有效。

所以我想知道在控制台和文件上执行此操作的语法是否不同??

有人可以一步一步地告诉我,这样我就可以弄清楚我是否遗漏了什么吗?我现在正在做的是加载程序,就像我对较小的程序所做的那样,然后尝试查询 ensure_loaded 命令中包含的文件的规则。正如我所说,如果在程序之外编写命令,它似乎确实有效。

在solution.pl,尝试

:- ensure_loaded('c:/Path').

或者,如果 c:/Path 中的源代码有模块指令 - 也就是说,它以 :- module(name, [exported/arity, ...]).

开头
:- use_module('c:/Path').