我正在尝试开发有关使用 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,使用Swipl -s prolog_file. 然而,每次我向 Prolog 源文件添加新事实并保存时,我都必须在终端上重新启动 SWI-Prolog 以使其注意到更改。
我认为CTRL + s在 Prolog 源文件上使用足以让 SWI-Prolog 注意到更改,但事实并非如此。
在Windows上有一个带有编译按钮的Prolog编辑器,当你编译文件时,SWI-Prolog会注意到这些变化,但我使用的是Kali Linux,所以我在文本编辑器上编写。
如何让 SWI-Prolog 注意到这些变化?
我需要编写一个读取用户输入的谓词。如果输入为“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)
我究竟做错了什么 ?