2012-04-08 16 views
5

मेरे पास एक Prolog डेटाबेस फ़ाइल (test_inserts.p) है जो मैंने अपना सभी डेटा डालने के लिए उपयोग किया था।सरल पोलॉग समस्या: आप अपने प्रोलॉग डेटाबेस के विरुद्ध कई प्रश्नों का परीक्षण कैसे करते हैं?

मैं भी एक Prolog क्वेरी फ़ाइल (test_queries.pl) Prolog प्रश्नों मैं लिखा मेरी डेटाबेस से विशिष्ट जानकारी प्राप्त करना के सभी है कि है।

मैं सोच रहा था कि gprolog का उपयोग करते समय मेरी test_inserts.p डेटाबेस फ़ाइल के विरुद्ध वास्तव में test_queries.pl क्वेरी का उपयोग कैसे करें? मैं वहाँ उम्मीद कर रही थी एक ही समय में दोनों लोड करने के लिए एक तरह से हो सकता है, और किसी भी तरह, आदेश जो चलाने के लिए क्वेरी में सक्षम हो बजाय फिर से टाइप करने के लिए प्रत्येक प्रश्न है कि मैं चलाने के लिए चाहते थे होने के ....

उत्तर

5

मैंने नीचे दिए गए प्रभाव को प्राप्त करने के लिए initialization/1test_queries.pl में आईएसओ निर्देश का उपयोग किया है।

test_queries.pl

test :- 
     findall(_, (a(X,Y), format('~w ~w~n', [X,Y])), _). 

:- initialization([test_inserts]). 
:- initialization(test). 

test_inserts.pl

a(X,Y) :- append(X,Y,[1,2,3]). 

तो --consult-file

gprolog --consult-file test_queries.pl 
GNU Prolog 1.4.0 
By Daniel Diaz 
Copyright (C) 1999-2011 Daniel Diaz 
compiling /home/carlo/test_queries.pl for byte code... 
/home/carlo/test_queries.pl compiled, 5 lines read - 659 bytes written, 28 ms 
compiling /home/carlo/test_inserts.pl for byte code... 
/home/carlo/test_inserts.pl compiled, 2 lines read - 379 bytes written, 30 ms 
[] [1,2,3] 
[1] [2,3] 
[1,2] [3] 
[1,2,3] [] 
| ?- 
+0

+1 के साथ gprolog कहते हैं। बीटीडब्ल्यू, [जीएनयू प्रोलॉग 1.4.1] है (http://gprolog.univ-paris1.fr/unstable/?C=M;O=D) – false

+0

@false: मैंने आज सुबह स्रोत से स्थापित किया है। यह कितनी तेजी से चल रहा है ... – CapelliC

संबंधित मुद्दे

 संबंधित मुद्दे