सबसे पहले जब मैं प्रोलॉग पर विभिन्न भविष्यवाणियों पर पढ़ता हूं, उदाहरण के लिए http_server
, यह इस तरह लिखा गया है: http_server(:Goal, +Options)
:
और +
का अर्थ क्या है? कभी-कभी ?
भी लिखा जाता है।
दूसरी बार कभी-कभी मुझे _Request
जैसे अंडरस्कोर के साथ घोषित चर दिखाई देता है, भले ही कोई अन्य Request
नहीं है, वह क्यों है?प्रोलॉग में इसका क्या अर्थ है?
उत्तर
+
, -
, :
आदि sigils कहा जाता है मोड घोषणाओं। वे अनुमानित तर्कों की अपेक्षित तत्कालता का वर्णन करते हैं, यानी, क्या आपको भविष्यवाणी को एक अनबाउंड वैरिएबल, तत्काल शब्द, आदि के साथ कॉल करने की उम्मीद है। ये पूरी तरह से मानकीकृत नहीं हैं; यहाँ SWI-Prolog के लिए सम्मेलनों का वर्णन है: http://www.swi-prolog.org/pldoc/man?section=modes
एक पहली सन्निकटन के रूप में, एक +
तर्क एक इनपुट विधेय के लिए है, तो आप एक जमीन अवधि प्रदान करने वाले हैं। एक -
तर्क भविष्यवाणी के आउटपुट है, भविष्यवाणी इसे एक शब्द के साथ एकीकृत करने का प्रयास करेगी। कॉल पर ?
शब्द आंशिक रूप से तत्काल हो सकता है, और भविष्यवाणी इसे और तुरंत चालू कर सकती है। :
तर्क मेटा-तर्क है, यानी, यह भविष्यवाणी के रूप में जाना जाने वाला एक लक्ष्य है (उदाहरण के लिए setof/3
में)।
http_server(:Goal, +Options)
के उदाहरण में, आपको इस भविष्यवाणी को एक लक्ष्य के लिए पहले तर्क के साथ कॉल करना होगा, शायद एक अनुमानित नाम। दूसरा तर्क तत्काल होना चाहिए, संभावित रूप से उस सूची में जिसका प्रारूप दस्तावेज में आगे वर्णित है। यदि आप इस तरह की भविष्यवाणी को कॉल करते हैं, उदाहरण के लिए, यदि आप दूसरे तर्क के रूप में एक अनबाउंड वैरिएबल पास करते हैं, तो आपको अप्रत्याशित व्यवहार या तत्काल त्रुटि मिल सकती है।
आपके दूसरे प्रश्न के लिए (जो बेहतर होगा), एक चर जो अंडरस्कोर से शुरू होता है उसे अज्ञात चर कहा जाता है। प्रत्येक ऐसा चर केवल _
को छोड़कर, प्रत्येक खंड में एक बार हो सकता है, जो कई बार हो सकता है और प्रत्येक घटना पर अलग-अलग चर को संदर्भित करता है।
प्रोलॉग सिस्टम आमतौर पर गैर-अज्ञात चर के लिए एक "सिंगलटन वेरिएबल" चेतावनी उत्सर्जित करते हैं जो केवल एक बार होता है, क्योंकि वे टाइपो हो सकते हैं या प्रोग्रामर कुछ संकेत भूल सकता है। आप धारणा व्यक्त करने के लिए अज्ञात चर का उपयोग करते हैं कि "यहां कुछ होना चाहिए (उदा।, एक अनुमानित तर्क), लेकिन मुझे परवाह नहीं है कि यह क्या है"। आपके उदाहरण में, संभवतः आप एक भविष्यवाणी करते हैं जिसमें "अनुरोध" तर्क होता है, लेकिन आपके विशेष उपयोग मामले में आपको अनुरोध की परवाह नहीं है।
- 1. इसका क्या अर्थ है?
- 2. प्रोलॉग में \ + मतलब क्या है?
- 3. इसका क्या अर्थ है "->"?
- 4. बैकस्लैश - इसका क्या अर्थ है?
- 5. java.lang.IleglegalStateException इसका क्या अर्थ है?
- 6. ":" (कोलन) - इसका क्या अर्थ है?
- 7. इसका क्या अर्थ है? (int &)
- 8. टीएफएस में असहज: इसका क्या अर्थ है?
- 9. सी में शेलकोड - इसका क्या अर्थ है?
- 10. आईफोन प्रोग्रामिंग में इसका क्या अर्थ है?
- 11. रुबी भाषा में इसका क्या अर्थ है?
- 12. प्रोलॉग-ऑपरेटर "_: _" - जिसका अर्थ है?
- 13. इसका क्या अर्थ है/64 आईपीवी 6
- 14. इसका क्या अर्थ है ?: * (int32 *) 0 = 0;
- 15. xn-- डोमेन पर, इसका क्या अर्थ है?
- 16. MySQL 1443: इसका क्या अर्थ है?
- 17. वीसी ++ 'जनरेटिंग कोड', इसका क्या अर्थ है?
- 18. इसका क्या अर्थ है? initWithFrame: CGRectZero]
- 19. इसका अर्थ क्या है BUNDLE_DISABLE_SHARED_GEMS: '1'?
- 20. $ .text (["someText"]) - इसका क्या अर्थ है?
- 21. एकाधिक FROMS - इसका अर्थ क्या है
- 22. इसका क्या अर्थ है # (? - मिश्रण: फेसबुक | ट्विटर)?
- 23. वालग्रिंड 'शोर', इसका क्या अर्थ है?
- 24. upsize_ts कॉलम - इसका क्या अर्थ है?
- 25. जावा "user.dir" संपत्ति - इसका क्या अर्थ है?
- 26. 'सिस्टम भाषा' से इसका क्या अर्थ है?
- 27. त्रुटि: [ngRepeat: dupes] इसका क्या अर्थ है?
- 28. ISupportErrorInfo का कार्यान्वयन - इसका क्या अर्थ है?
- 29. एनजी-मॉडल = "कुछ। $" इसका क्या अर्थ है?
- 30. करता है! = ओकैमल में इसका अर्थ है?
धन्यवाद, बहुत अच्छा स्पष्टीकरण। फिर भी एक बात है जिसे मैं समझ नहीं पा रहा हूं, इसे '_Request' क्यों कहते हैं और न केवल '_'? क्या यह सिर्फ स्पष्टता के लिए है कि यह एक अनुरोध है? – Ferus
हां, यह वैरिएबल नाम को अधिक अभिव्यक्तिपूर्ण बनाने के लिए है। –