41得票6回答
在Ubuntu中进行Prolog编程

我对于玩和尝试使用Prolog语言有兴趣,我已经安装了SWI-Prolog并添加了仓库。如果有人对我使用的命令感兴趣的话,这是它们: % sudo apt-add-repository ppa:swi-prolog/stable % sudo apt-get update % sudo ap...

36得票6回答
在Mac上运行Prolog

我很难在我的Mac上运行SWI-prolog。当我输入以下命令时: /opt/bin/local/swipl 我收到一个错误提示:/opt/local/bin/swipl: No such file or directory 当我只输入"swipl"时,我得到:swipl: command ...

33得票5回答
SWI-Prolog - 显示长列表

我正在使用 SWI-Prolog,想要打印一个列表,但是如果列表有超过9个项目——它看起来像这样——[1, 15, 8, 22, 5, 19, 12, 25, 3|...] 有没有一种方法可以显示整个列表?

31得票2回答
为什么这个Prolog查询既是真的又是假的?

我的SWI-Prolog知识库包含以下两个事实:f(a,b). f(a,c). 现在,如果我提出以下查询:?- f(a,c). true. 但是。?- f(a,b). true ; false. 为什么f(a,b)既为真又为假?当知识库里有三个事实时也会发生这种情况。如果我将f(a,d)添加到...

26得票3回答
Swipl: 如何重新加载文件

首先,我使用 SWI-Prolog 加载文件$ swipl file.pl 然后我修改文件并保存。现在我该如何重新加载文件,例如:?- reload 修改后的file.pl文件需要用什么方式?

25得票3回答
SWI-Prolog在语义Web中的应用

我希望能听到有实际编程经验的人使用SWI-Prolog语义库的经验。 编辑:我提出这个问题的原因是,在与许多拥有Prolog经验的人交谈中,他们中的大多数似乎在他们的学术项目中将其用于一些人工智能编程。我想知道是否有人在生产环境中广泛使用它。因为实时可维护性和性能不同于完成项目以获得好成绩。 ...

22得票5回答
在Prolog中逐行读取文件

我想读取一个纯文本文件,并对每一行应用一个谓词(这些谓词包含“write”来进行输出)。我该如何做?

19得票3回答
如何从命令行运行SWI-Prolog?

有没有一种方法可以像这样只创建一个名为hello.pl的Prolog脚本: #!/usr/local/bin/swipl -q -s -t main main:- write('Hello World\n'). 能够像这样从终端运行它吗? $ hello.pl Hello Wor...

16得票3回答
Prolog DCG语法规则中的堆栈溢出:如何高效或惰性地处理大型列表

我正在解析一个相当简单的文件格式,它由一系列行组成,每一行都有一些用空格分隔的字段,看起来像这样: l 0x9823 1 s 0x1111 3 l 0x1111 12 ⋮ 我正在使用SWI-Prolog。这是我目前的DCG: :- consult(library(pure_input)...

15得票7回答
基于对象的编程在SWI-Prolog中

我在某处读到,你可以将Prolog中的模块视为对象。我正在试图理解它,并确定它是否是一种好的编程方式。如果我有两个文件,一个定义了一个类别dog,然后另一个文件使用这个类别来创建两个dog对象。:- module(dog, [ create_dog/4,bark/1 ]). cr...