मुझे रुबी में एक क्विन (प्रोग्राम जो स्वयं प्रिंट करता है) के उदाहरण के रूप में विकिपीडिया पर यह कोड ब्लॉक मिला है।रूबी क्विन को समझना
puts <<2*2,2
puts <<2*2,2
2
हालांकि, मुझे यह नहीं पता कि यह कैसे काम करता है।
syntax error, unexpected $end, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
क्या उन पंक्तियों में क्या होता है: विशेष रूप से, मैं क्या नहीं मिलता है कि जब मैं अंतिम पंक्ति को हटा दें, मैं इस त्रुटि मिलती है?
लेकिन यदि स्ट्रिंग का अंतिम मार्कर "<" के बाद "कुछ" है <', यह तब' 2 * 2,2' अनुक्रम नहीं होना चाहिए, और उसी अनुक्रम को अंतिम पंक्ति में समाप्त करने के लिए उपयोग किया जाना चाहिए? – SasQ
'<<' की प्राथमिकता '*' से अधिक कठिन है, इसलिए '<< 2 * 2' "स्ट्रिंग निम्नलिखित 2-समाप्त दस्तावेज़ द्वारा दर्शायी गई स्ट्रिंग है, जो निम्नलिखित द्वारा दर्शाए गए स्ट्रिंग के बजाय 2 से गुणा" यहां 2 * 2-समाप्त दस्तावेज़। " –