2010-12-21 19 views
16

में फ़ाइलों को लोड करना मैं प्रोलॉग ट्यूटोरियल के माध्यम से जा रहा हूं। यह कह रहा है कि मैं टाइपिंग द्वारा अन्य prolog फ़ाइलें लोड कर सकते हैं:।प्रोलॉग

[filename]. 

लेकिन हर बार मैं यह कोशिश

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

फ़ाइल एक के रूप में एक ही निर्देशिका में है में काम कर रहा हूँ हो रही है

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

यह नहीं कहा कि आप किस प्लेटफ़ॉर्म का उपयोग कर रहे हैं। मैं रास्पबेरी पीई पर चल रहा हूं और प्रीलॉग फाइलें ठीक लोड करती हैं अगर उन्हें पीआई निर्देशिका में रखा जाता है। मैं उन्हें पीआई/दस्तावेज़ निर्देशिका में लोड नहीं कर सका। तो मैंने पीआई निर्देशिका में एक "प्रोलॉग" फ़ोल्डर का प्रयोग किया और बनाया और वहां मेरी load.pl फ़ाइल रखी और अब कामों से परामर्श लें।

consult(prolog/load). 
संबंधित मुद्दे