我在是新的Prolog,我想設置規則的SWI-Prolog的殼如 -錯誤:未定義的程序:( - )/ 2
listensToMusic(X) :- happy(X).
但它提示 -
ERROR: Undefined procedure: (:-)/2
我用SWI-Prolog的版本6.2.6
我在是新的Prolog,我想設置規則的SWI-Prolog的殼如 -錯誤:未定義的程序:( - )/ 2
listensToMusic(X) :- happy(X).
但它提示 -
ERROR: Undefined procedure: (:-)/2
我用SWI-Prolog的版本6.2.6
SWI-Prolog的上頂層不接受新的規則和事實,它只能接受查詢。
規則典型地通過在一個文本文件寫入它們(例如rules.pl
),並用它加載到SWI-Prolog的:
?- [rules].
到文件的絕對路徑可以這樣使用:
:?- ['C:/Program Files/pl/demo/likes'].
可以通過發出[user].
,輸入您的規則,並與EOF
(通常按Ctrl-d)結束類型規則10
有關於這個問題的一個精心製作的常見問題解答:ERROR: Undefined procedure: (:-)/1 | (:-)/2 | (?-)/1
我的Prolog的技能是塵土飛揚的最好的,但據我記得你應該在文件中聲明的東西,然後諮詢將其加載到該文件工作區,然後使用shell來詢問有關工作區的問題。要在shell中聲明某些內容需要一個斷言。
謝謝,以及我如何編寫'[rules] .'如果位於與SWI-Prolog不同的目錄中的rules.pl'? – URL87
將絕對路徑放在引號中:'['C:/ Program Files/pl/demo/likes']'。 –