जब आप इंटरैक्टिव प्रॉम्प्ट पर write(X).
टाइप करते हैं, और कुछ और नहीं, एक्स विशेष रूप से कुछ भी बाध्य नहीं है। यदि आप उपयोगकर्ता से एक्स को पढ़ना चाहते हैं और फिर इसे लिखना चाहते हैं, तो प्रॉम्प्ट पर read(X), write(X).
टाइप करने का प्रयास करें।
?- read(X), write(X).
|: 28.
28
X = 28.
एसडब्ल्यूआई प्रोलॉग शीर्ष-स्तरीय बाइंडिंग का इतिहास रखता है; मैनुअल में जाने के लिए help.
टाइप करें, फिर bindings
पर खोजें या मैनुअल के सेक्शन 2.8 पर जाएं, 'टॉप-स्तरीय बाइंडिंग का पुन: उपयोग करें'। वहां, आप सीख सकते हैं कि एक सफल शीर्ष-स्तरीय लक्ष्य में बंधे किसी भी चर के नवीनतम मूल्य को बनाए रखा गया है, और इसे एक डॉलर के चिह्न के साथ उपसर्ग के साथ चर के नाम का उपयोग करने के लिए संदर्भित किया जा सकता है। तो निम्नलिखित की तरह बातचीत संभव हो रहे हैं:
?- read(X).
|: 42.
X = 42.
?- write($X).
42
true.
लेकिन एक उच्च-स्तरीय लक्ष्य है कि बस का उपयोग करने के चर नाम एक्स एक ताजा चर का उपयोग कर के रूप में व्याख्या की जाएगी होता है; अन्यथा प्रोलॉग के सामान्य अर्थशास्त्र का उल्लंघन करना होगा।
स्रोत
2012-10-17 17:03:53
संभव डुप्लिकेट (http://stackoverflow.com/questions/9358623/variable-names-in-swi-prolog) – false