私はPrologチュートリアルを行っています。次のように入力することで、他のプロローグファイルをロードできると言っています。
[filename].
しかし、私がこれを試みるたびに、
ERROR: load_files/2: Arguments are not sufficiently instantiated.
ファイルは、作業中のディレクトリと同じディレクトリにあります。
クエリとエラー全体のコピーは次のとおりです。
12 ?- [KB5].
ERROR: load_files/2: Arguments are not sufficiently instantiated
私は何が間違っているのですか?
$ cat junk.pl
test(ok).
$ prolog
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.8.0)
Copyright (c) 1990-2009 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.
For help, use ?- help(Topic). or ?- apropos(Word).
?- [junk].
% junk compiled 0.00 sec, 24 bytes
true.
それは私にとってはうまくいくようです。もちろん、ファイル名には変数ではなくatomを使用しています(KB5は変数名であり、アトムではありません)。最初に['KB5']
を試して、それが役立つかどうかを確認してください。 。次に[kb5]
を試して、それが役立つかどうかを確認します。最後に、私が提供したような最小限の例を試して、その方法でロードできるかどうかを確認します。
追加するために編集:
$ cp junk.pl JUNK.pl
$ prolog
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.8.0)
Copyright (c) 1990-2009 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.
For help, use ?- help(Topic). or ?- apropos(Word).
?- [JUNK].
ERROR: load_files/2: Arguments are not sufficiently instantiated
?- ['JUNK'].
% JUNK compiled 0.00 sec, 1,656 bytes
true.
確かにatom問題のようです。['KB5']
を使用すると、エラーがなくなる可能性があります。
提供された他の方法は機能しますが。別の方法は次のとおりです。
?- consult('C:/User/Folder/myRules.pl').
それでうまくいくはずです!
使用しているプラットフォームはわかりませんでした。 Raspberry Piで実行していますが、Piディレクトリに配置されている場合、プロローグファイルは正常にロードされます。 Pi/Documentsディレクトリにロードすることができませんでした。そこで、Piディレクトリに「prolog」フォルダを実験して作成し、そこにload.plファイルを配置して、作業を確認しました。
consult(prolog/load).