कोड:यह बचने वाला चरित्र वास्तव में रूबी में क्यों काम नहीं करता है?
file.write 'objectclass: groupOfUniqueNames\n'
अजीब तरह से पर्याप्त, \ N वास्तव में मुद्रित किया जा रहा है ... यहाँ क्या गलत है?
कोड:यह बचने वाला चरित्र वास्तव में रूबी में क्यों काम नहीं करता है?
file.write 'objectclass: groupOfUniqueNames\n'
अजीब तरह से पर्याप्त, \ N वास्तव में मुद्रित किया जा रहा है ... यहाँ क्या गलत है?
रूबी में एकल उद्धृत तार डबल उद्धृत तारों की तुलना में अधिक 'शाब्दिक' हैं; चर का मूल्यांकन नहीं किया जाता है, और \\
और \'
के अपवाद के साथ क्रमशः शाब्दिक बैकस्लैश और एकल उद्धरण शामिल करने के लिए अधिकांश भागने वाले वर्ण काम नहीं करते हैं।
डबल उद्धरण आप क्या चाहते हैं:
file.write "objectclass: groupOfUniqueNames\n"
आप सिंगल कोट्स का उपयोग कर रहे हैं। एकल उद्धरणों में अनुमत एकमात्र भागने अनुक्रम \\
\
और \'
'
के लिए हैं। डबल कोट्स का उपयोग करें और \n
अपेक्षित काम करेगा।
वास्तव में, नहीं भी '' \\ काम करता है। (कौन सा बीटीडब्लू का मतलब है कि आपके पास एक सिंगल उद्धृत स्ट्रिंग नहीं हो सकती है जो बैकस्लाश की विषम संख्या के साथ समाप्त होती है।) –
बेशक यह काम करता है: '' \\ '== "\\" # => true' – sepp2k
@ जोर्ग डब्ल्यू मिट्टाग: ध्यान दें कि '' \\ '। आकार == 1', जो एक विषम संख्या है। – sepp2k
केवल दो भागने दृश्यों एक भी उद्धृत स्ट्रिंग में अनुमति दी \'
और \\
(एक बैकस्लैश के लिए) (एक भी बोली के लिए) कर रहे हैं। यदि आप अन्य भागने के दृश्यों का उपयोग करना चाहते हैं, जैसे \n
(न्यूलाइन के लिए), तो आपको एक डबल उद्धृत स्ट्रिंग का उपयोग करना होगा।
तो, यह काम करेगा:
file.write "objectclass: groupOfUniqueNames\n"
हालांकि मैं व्यक्तिगत रूप से बस यहाँ puts
का प्रयोग करेंगे, जो पहले से ही एक नई पंक्ति कहते हैं:
file.puts 'objectclass: groupOfUniqueNames'
तो मैं वास्तव में कभी भी सिंगल कोट स्ट्रिंग का उपयोग क्यों करना चाहूंगा? पात्रों से बचने से बचने के लिए यह सिर्फ छोटा हाथ है? – Zombies
यदि आप इंटरपोलेट नहीं करना चाहते हैं तो यह भी उपयोगी हो सकता है। उदाहरण के लिए: '' इंटरपोलेशन इस तरह दिखता है: # {@ variable} '', जिसे शाब्दिक रूप से मुद्रित किया गया है," @foo का मान # {@ foo} "है, जिसमें' @ foo' का मूल्यांकन किया गया है और सम्मिलित किया गया। –
@ ज़ोंबी एकल उद्धृत स्ट्रिंग को रूबी के पक्ष में कम काम की आवश्यकता होती है। जब आप जानते हैं कि आपको परिवर्तनीय इंटरपोलेशन जैसी चीज़ों की आवश्यकता नहीं है, तो वे उपयोग करने के लिए थोड़ा तेज़ हैं। – meagar