2010-12-21 9 views
16

私はPrologチュートリアルを行っています。それは私がタイピングすることにより、他のプロローグファイルを読み込むことができます私に語っている:。Prologでのファイルのロード

[filename]. 

が、私はこれをしようとするたびに

ERROR: load_files/2: Arguments are not sufficiently instantiated. 

1と同じディレクトリにあるが、で働いていたファイルを取得しています

をここで

はクエリ全体とエラーのコピーである:私は間違っ

12 ?- [KB5]. 

ERROR: load_files/2: Arguments are not sufficiently instantiated 

何をしているのですか?

答えて

22
$ 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. 

私にとってはうまくいくようです。もちろん、変数ではなく、ファイル名にアトムを使用しています。 (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. 

それが実際に原子の問題のように見えます。 ['KB5']を使用すると、エラーが消滅する可能性があります。

8

他の方法も機能しますが。代わりの方法は次のとおりです。

?- consult('C:/User/Folder/myRules.pl'). 

これはすべきことです!

0

使用しているプラ​​ットフォームがわからない。私はRaspberry Piで実行していて、プロディレクトリファイルがPiディレクトリに置かれていれば正常に読み込まれます。私はPi/Documentsディレクトリにロードすることができませんでした。だから私はPiディレクトリに "prolog"フォルダを作成して作成し、そこにload.plファイルを置いて、現在は相談しています。

consult(prolog/load).