2016-07-17 9 views
5

मुझे निम्नलिखित प्रोलॉग स्निपेट नहीं समझा? ":_:" का अर्थ क्या है? ":=" और "=" के बीच क्या अंतर है?प्रोलॉग-ऑपरेटर "_: _" - जिसका अर्थ है?

game_to_problematic_points(Game,Pid,Hid) :- 
    Point := Game/point, 
    Pid := [email protected], 
    Point = point:_:Hits. 
    append(_, [Hit1,_|_], Hits), 
    hit_out(Hit1), 
    Hid := [email protected] 
hit_out(Hit) :- 
    X := [email protected], 
    Y := [email protected], 
    (X > 23.77/2 
    ; X < -23.77/2 
    ; Y > 10.97/2 
    ; Y < -10.97/2). 

धन्यवाद :)

+0

कौन सा प्रोलॉग सिस्टम? –

+0

@PauloMoura SWI-Prolog – CyKon

उत्तर

5

यह XPCE कोड हो रहा है। XPCE मूल एसडब्ल्यूआई-प्रोल ऑब्जेक्ट उन्मुख जीयूआई लाइब्रेरी है। आपको कम से पीडीएफ प्रारूप में अपने मैनुअल पा सकते हैं:

http://www.swi-prolog.org/download/xpce/doc/userguide/userguide.pdf

:=/2 ऑपरेटर कार्य के लिए प्रयोग किया जाता है (विवरण के लिए निर्देशिका देखें) जबकि =/2 मानक Prolog एकीकरण ऑपरेटर है।

लक्ष्य Point = point:_:Hits यौगिक शब्द point:_:Hits के साथ परिवर्तनीय Point का एकीकरण है। यह स्पष्ट हो सकता है अगर आप विहित प्रपत्र में इस शब्द लिखें: यह है कि इस अवधि में दो बार मानक :/2 मॉड्यूल ऑपरेटर का उपयोग करता

?- write_canonical(point:_:Hits). 
:(point,:(_,_)) 
true. 

नोट।

+0

बहुत बहुत धन्यवाद :) – CyKon

+0

वास्तव में एक अच्छा वाक्यविन्यास - धन्यवाद! – CapelliC

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