Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以使用Prolog从另一个文件检索信息吗?_Prolog_Encapsulation_Swi Prolog_Prolog Directive Dynamic - Fatal编程技术网

我可以使用Prolog从另一个文件检索信息吗?

我可以使用Prolog从另一个文件检索信息吗?,prolog,encapsulation,swi-prolog,prolog-directive-dynamic,Prolog,Encapsulation,Swi Prolog,Prolog Directive Dynamic,我正试着写一个简单的翻译脚本,但文件越来越。。。很长很混乱,主要是因为我把所有的翻译都存储在了文件的末尾。它们的格式是动词(英语、芬兰语) 我想知道是否有办法将它们存储在不同的文件中,这样我就不需要处理它们了。 我已经研究过使用consult谓词,但我认为这并不完全符合我的需要。在SWI prolog中有什么方法可以做到这一点吗 对于记录,如果我使用consult谓词,我会得到以下错误消息: 但是,如果尝试使用consult谓词,则会出现以下错误: Warning: The predicates

我正试着写一个简单的翻译脚本,但文件越来越。。。很长很混乱,主要是因为我把所有的翻译都存储在了文件的末尾。它们的格式是动词(英语、芬兰语)

我想知道是否有办法将它们存储在不同的文件中,这样我就不需要处理它们了。 我已经研究过使用consult谓词,但我认为这并不完全符合我的需要。在SWI prolog中有什么方法可以做到这一点吗

对于记录,如果我使用consult谓词,我会得到以下错误消息:

但是,如果尝试使用consult谓词,则会出现以下错误:

Warning: The predicates below are not defined. If these are defined
Warning: at runtime using assert/1, use :- dynamic Name/Arity.
Warning: 
Warning: verb/2, which is referenced by
Warning:        c:/users/grant/documents/prolog/string_dictionary.pl:6:8: 1-st clause of translate_word/2

我认为
consult/1
是您所需要的


只需将你的
动词
事实(顺便说一句,为什么你的问题中
动词
大写?事实和规则名称不能以大写字母开头)放在单独的文件中,并在主序言文件中查阅该文件。

我认为
查阅/1
是你需要的

只需将你的
动词
事实(顺便说一句,为什么你的问题中
动词
大写?事实和规则名称不能以大写字母开头)放在单独的文件中,并在主Prolog文件中查阅该文件。

你可以使用该指令以及/1或/1,但我建议改为切换到。更多的工作,更好的维护和支持

在谓词文件顶部添加声明

:- module(verbs, [verb/2]).
然后在翻译脚本中添加

:- use_module(verbs).
您可以将该指令与/1或/1一起使用,但我建议您改为切换到。更多的工作,更好的维护和支持

在谓词文件顶部添加声明

:- module(verbs, [verb/2]).
然后在翻译脚本中添加

:- use_module(verbs).

这正是我想要的。谢谢。这正是我要找的。非常感谢。