我对于玩和尝试使用Prolog语言有兴趣,我已经安装了SWI-Prolog并添加了仓库。如果有人对我使用的命令感兴趣的话,这是它们: % sudo apt-add-repository ppa:swi-prolog/stable % sudo apt-get update % sudo ap...
我很难在我的Mac上运行SWI-prolog。当我输入以下命令时: /opt/bin/local/swipl 我收到一个错误提示:/opt/local/bin/swipl: No such file or directory 当我只输入"swipl"时,我得到:swipl: command ...
我正在使用 SWI-Prolog,想要打印一个列表,但是如果列表有超过9个项目——它看起来像这样——[1, 15, 8, 22, 5, 19, 12, 25, 3|...] 有没有一种方法可以显示整个列表?
我的SWI-Prolog知识库包含以下两个事实:f(a,b). f(a,c). 现在,如果我提出以下查询:?- f(a,c). true. 但是。?- f(a,b). true ; false. 为什么f(a,b)既为真又为假?当知识库里有三个事实时也会发生这种情况。如果我将f(a,d)添加到...
首先,我使用 SWI-Prolog 加载文件$ swipl file.pl 然后我修改文件并保存。现在我该如何重新加载文件,例如:?- reload 修改后的file.pl文件需要用什么方式?
我希望能听到有实际编程经验的人使用SWI-Prolog语义库的经验。 编辑:我提出这个问题的原因是,在与许多拥有Prolog经验的人交谈中,他们中的大多数似乎在他们的学术项目中将其用于一些人工智能编程。我想知道是否有人在生产环境中广泛使用它。因为实时可维护性和性能不同于完成项目以获得好成绩。 ...
有没有一种方法可以像这样只创建一个名为hello.pl的Prolog脚本: #!/usr/local/bin/swipl -q -s -t main main:- write('Hello World\n'). 能够像这样从终端运行它吗? $ hello.pl Hello Wor...
我正在解析一个相当简单的文件格式,它由一系列行组成,每一行都有一些用空格分隔的字段,看起来像这样: l 0x9823 1 s 0x1111 3 l 0x1111 12 ⋮ 我正在使用SWI-Prolog。这是我目前的DCG: :- consult(library(pure_input)...
我在某处读到,你可以将Prolog中的模块视为对象。我正在试图理解它,并确定它是否是一种好的编程方式。如果我有两个文件,一个定义了一个类别dog,然后另一个文件使用这个类别来创建两个dog对象。:- module(dog, [ create_dog/4,bark/1 ]). cr...