小编pet*_*.fr的帖子

如何在 swi-prolog 桌面中设置代码文件 (.pl) 的 utf-8

我正在尝试开发有关使用 swi-prolog 的常见问题(常见问题解答)。我使用桌面版 swi-prolog(AMD64,多线程,版本 8.2.3)。\n常见问题解答中的问题和答案是用土耳其的母语编写的。当我运行代码文件(k-base.pl 和 user.pl)时,土耳其语字符 /like \xc5\x9f-\xc4\x9f-\xc3\xbc-\xc3\xb6/ 看起来已损坏。\n我想知道是否有utf-8 代码文件的任何语法或 swi-prolog 桌面中针对此语言问题的任何设置。

\n

swi-prolog

5
推荐指数
1
解决办法
1770
查看次数

如何让终端上的 Prolog 注意到 Prolog 源文件中添加的新更改?

我通过终端打开 SWI-Prolog,使用Swipl -s prolog_file. 然而,每次我向 Prolog 源文件添加新事实并保存时,我都必须在终端上重新启动 SWI-Prolog 以使其注意到更改。

我认为CTRL + s在 Prolog 源文件上使用足以让 SWI-Prolog 注意到更改,但事实并非如此。

在Windows上有一个带有编译按钮的Prolog编辑器,当你编译文件时,SWI-Prolog会注意到这些变化,但我使用的是Kali Linux,所以我在文本编辑器上编写。

如何让 SWI-Prolog 注意到这些变化?

terminal text-editor swi-prolog

3
推荐指数
1
解决办法
378
查看次数

读取用户输入并将字符串匹配结果分配给参数

我需要编写一个读取用户输入的谓词。如果输入为“yes”(理想情况下为“yes”或“y”),则必须为参数分配“yes”,如果有任何不同,则必须分配“no”。

askContinue(Answer) :-
    write("Would you like to continue ?  "), read(Input), nl,
    (Input = "yes" -> Answer = true ; Answer = false).
Run Code Online (Sandbox Code Playgroud)

输出是:

?- askContinue(A).
Would you like to continue ? yes.

A = false.

?- askContinue(A).
Would you like to continue ? no.

A = false.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?

prolog

3
推荐指数
1
解决办法
281
查看次数

标签 统计

swi-prolog ×2

prolog ×1

terminal ×1

text-editor ×1