2011-09-20 31 views
20

मुझे विजुअल प्रोलॉग में "बराबर नहीं" संकेत पर कोई दस्तावेज नहीं मिल रहा है। कृपया इस समस्या का सही समाधान प्रदान करें:"बराबर नहीं" चिह्न?

class predicates 
     sister : (string Person, string Sister) nondeterm(o,o). 
    clauses 
     sister(Person, Sister) :- 
      Person [not-equal-sign] Sister, 
      parent(Person, Parent), 
      parent(Sister, Parent), 
      woman(Sister). 

अग्रिम धन्यवाद!

उत्तर

37

मैं तुम्हें द्वारा "इसके बराबर नहीं" (एकजुट नहीं करता है?) क्या मतलब है पता नहीं है, लेकिन आप इन की कोशिश कर सकते:

X \= Y 
not(X = Y) 
\+ (X = Y) 
+1

धन्यवाद, दूसरा संस्करण पूरी तरह से काम करता है! – Egor

+4

क्या इन विकल्पों के बीच अंतर है? – alaboudi

4

दूसरे संस्करण के लिए प्रलेखन Kaarel द्वारा बताया पाया जा सकता है this Visual Prolog reference पृष्ठ में।

हालांकि आपके कोड के साथ समस्या थोड़ा गहरा हो जाती है।

sister(Person, Sister) :- 
     parent(Person, Parent), 
     parent(Sister, Parent), 
     not(Person = Sister), 
     woman(Sister). 

वहाँ भी "<>" एक इन्फ़िक्स ऑपरेटर के लिए वाक्य रचना जो अलग अर्थ है (या अलग है: आप इस तरह जब तक दोनों पदों व्यक्ति और बहन बाध्य कर रहे हैं गैर समानता के परीक्षण के लिए प्रतीक्षा करने के लिए है, तो पुन: व्यवस्थित चीजों की आवश्यकता)। एक बार दोनों शर्तों को बाध्य करने के बाद यह एक ही परिणाम देना चाहिए कि यह जांच करनी चाहिए कि क्या शर्तों को एकीकृत नहीं किया जा सकता है, जो उपर्युक्त निर्माण करता है।