मान लें मैं निम्नलिखित नियम है:एसडब्ल्यूआई-प्रोलॉग एक ही नियम के लिए एक उद्धृत और अनिश्चित स्ट्रिंग (बिना रिक्त स्थान) को एकीकृत करता है?
unify('test', 'this is a test').
run :- write('Enter something: '),
read(X),
unify(X, Y),
write('The answer is '), write(Y).
और फिर मैं इसे चलाने के इस प्रकार है:
?- ['unify.pl'].
% unify.pl compiled 0.00 sec, -48 bytes
true.
?- run.
Enter something: test.
The answer is this is a test
true.
?- run.
Enter something: 'test'.
The answer is this is a test
true.
SWI-Prolog क्यों एकजुट करता है दोनों test
और 'test'
unify('test', 'this is a test').
के लिए? एसओ पर एक प्रोलॉग सवाल का जवाब देते हुए मैं इस पर आया। जबकि मैं व्यक्ति के प्रश्न का उत्तर देने में सक्षम था, मैं इस विशेष व्यवहार की व्याख्या नहीं कर सका, और मैं सोच रहा था कि कोई और कर सकता है या नहीं।
आह, यह SWI-Prolog-विशिष्ट व्यवहार है? –
@ विविन पालीथ: शायद, कम से कम एसडब्ल्यूआई-पोलॉग के साथ, हालांकि यह अन्य पोलॉग कार्यान्वयन के समान लगता है, मैंने भी देखा है। लेकिन फिर भी, हाँ, यह कुछ ऐसा है जो एसडब्ल्यूआई-पोलॉग पार्सर विशेष रूप से करेगा, शायद अगर आपको केवल अपने सभी परमाणुओं को सिंगल-कोट करने से बचाने के लिए :-) – sharky