2011-03-07 10 views
11

मैं प्रोलॉग के लिए नया ब्रांड हूं। मैं बस विंडोज विस्टा पर प्रोलॉग से कुछ आउटपुट प्राप्त करने की कोशिश कर रहा हूं।एसडब्ल्यूआई-प्रोलॉग का पहला उपयोग

मैंने प्रोलॉग 5.1 डाउनलोड और स्थापित किया है; मैंने स्थापित करते समय .pro फ़ाइल एक्सटेंशन चुना (पर्ल फाइलों के साथ भ्रमित नहीं)।

मैंने test.pro नामक एक फ़ाइल बनाई है। इस फाइल के अंदर मैं निम्नलिखित डाल:

inside(tom). 
?-inside(tom). 

मैं फ़ाइल और एक कमांड लाइन इंटरफेस अप पॉपअप क्लिक किया डबल। इस इंटरफेस (सामान्य Prolog संस्करण/कॉपीराइट की जानकारी का एक समूह के बाद) पर केवल उत्पादन होता है:

1 ?- 

ठीक है, शुरुआत के लिए, मैं यह उम्मीद नहीं थी के लिए एक सवाल पूछने; मुझे उम्मीद है कि यह उत्तर एक प्रश्न ('हां' की रेखा के साथ कुछ)।

वैसे भी, मैं निम्नलिखित के साथ प्रश्न पर प्रतिक्रिया करने की कोशिश की: '। के अंदर (टॉम)'

कमांड लाइन में मैं फिर से डाला है, तो पूरी लाइन की तरह दिखता है:

1 ?- inside(tom). 

मैं दबाया दर्ज करें और एक त्रुटि संदेश मिला:

ERROR: toplevel: Undefined procedure: inside/1 (DWIM could not correct goal) 

उत्तर

6

आप इस पहले (भी बुलाया prolog में "परामर्श") को संकलित करने की जरूरत है। अगर मुझे पता था कि आपके पास प्रोलॉग का कौन सा संस्करण है, तो मैं इस कमांड के लिए सटीक कुंजी प्रविष्टि ढूंढ सकता हूं (Ctrl-L काम कर सकता है)। वैसे, प्रोलॉग की अद्भुत दुनिया में आपका स्वागत है- मुझे यह पसंद है :) जैसे ही आप इस बाधा से अधिक हो जाते हैं, यह बहुत बेहतर हो जाता है। :)

+0

मैं इस अनुमान लगा रहा हूँ SWI-Prolog है (आप पर कितने हैरानी हो सकती है अलग-अलग 'prologs' हैं)। इस मामले में, "परामर्श ..." मुख्य फ़ाइल मेनू पर है- यह आपको लोड करने के लिए फ़ाइल के लिए संकेत देता है, इसलिए बस इस फ़ाइल को पुनः लोड करें और आपको सभी सेट होना चाहिए। वास्तव में, आपको कुछ भी करने से पहले एक प्रश्न पूछना होगा- इस तरह कोई प्रोलॉग प्रोग्राम काम करता है। –

+0

हां, एसडब्ल्यूआई-प्रोलॉग। मैंने पाया और मुझे लगता है कि मैंने फ़ाइल संकलित की है।सबसे पहले जब मैंने फ़ाइल मेनू से 'परामर्श' विकल्प चुना, तो मुझे test.pro नामक मेरी फ़ाइल नहीं दिखाई गई। फाइल को स्पष्ट होने के लिए मुझे "सभी फाइलें" (यह डरावना है, शायद प्रोलॉग पहचान नहीं रहा है .pro फाइलें) को देखना था; मैंने इसे चुना और यह बहुत ही प्रतीत होता था। मुझे संदेश दिया गया था: "डीआईआर .../test.pro संकलित 0.00 सेकंड, 1,696 बाइट्स", लेकिन मुझे एक ही निर्देशिका में एक संकलित फ़ाइल नहीं मिली और वर्तमान में प्रोलॉग के साथ स्थापित नई निर्देशिका संरचना के माध्यम से खोज रहा हूं स्थापना। –

+0

मैंने SWI-Prolog को पुनर्स्थापित किया, लेकिन फ़ाइल एक्सटेंशन के लिए डिफ़ॉल्ट को छोड़ दिया .pl। यह समस्या है ... जैसा कि आपने सुझाव दिया है मेनू मेनू/फ़ाइल के माध्यम से संकलन के अलावा। आपकी सहायता के लिए धन्यवाद. –

19

प्रोलॉग सवालों का जवाब नहीं देता है अगर आपने इसे तथ्यों नहीं बताया है। (जैसे member(1, [1,2,3]) के रूप में कुछ में निर्मित तथ्यों को छोड़कर।)

आप जो द्वारा अंदर है यह बता सकते हैं (टिप्पणी का पालन एक %):

1 ?- [user].       % get facts and rules from user input 
|: inside(mary).      % Mary and John are explicitly inside 
|: inside(john). 
|: inside(X) :- location(X, house). % rule: anyone in the house is inside 
|: inside(X) :- location(X, office). % (variables start with a capital letter) 
|: 
|: location(tom, house). 
|: location(bernard, house). 
|: location(anne, office). 
|:         % type Ctrl+D 
% user://1 compiled 0.00 sec, 1,220 bytes 
true. 

2 ?- inside(tom).      % Prolog deduces that Tom is inside 
true . 

आप Prolog जानने के लिए चाहते हैं, Learn Prolog Now एक अच्छा है , मुफ्त ट्यूटोरियल।

+1

बहुत धन्यवाद। मुझे ट्यूटोरियल भी पसंद है। –

0

त्वरित और गंदा। गायब क्या था फ़ाइल को संकलित करना, जिसे परामर्श के रूप में जाना जाता था और वाक्यविन्यास निम्नानुसार है, रेखा के सभी वर्ण प्रासंगिक हैं।

? - [फाइलनाम]।

तो आप क्या डाटाबेस के साथ सवाल पूछ सकते हैं और कर अन्य बातों के। (Prolog में स्रोत कोड)

http://www.swi-prolog.org/pldoc/man?section=quickstart