के साथ मैं वाईएएमएल का उपयोग कर एक फाइल में रुबी हैश लिख रहा हूं।स्ट्रिंग्स के साथ परिवर्तित स्थान के साथ क्यों शुरू हो रहे हैं:! 'रूबी/वाईएएमएल
File.open(output_file, "w") {|file| file.puts YAML::dump(final)}
हैश में तारों के रूप में तार और फ़्लोट्स मान के रूप में होते हैं।
जब मेरे तार केवल अक्षर होना वे फ़ाइल फ़ाइल में इस तरह के रूप outputted हैं:
abc: 1.0
bcd: 1.0
cde: 1.0
एक स्ट्रिंग एक अंतरिक्ष यह इस तरह के रूप outputted है के साथ शुरू होता है:
! ' ab': 1.0
जब मैंने पढ़ा है फ़ाइल फिर से सबकुछ ठीक है, लेकिन मैं जानना चाहता हूं कि यह क्यों हो रहा है और इसका क्या अर्थ है।
मैंने वाईएएमएल दस्तावेज की खोज की और कहा कि स्थानीय डेटाटाइप का प्रतिनिधित्व करने के लिए एक विस्मयादिबोधक बिंदु का उपयोग किया जाता है।
यह रिक्त स्थान से शुरू होने वाली स्ट्रिंग पर क्यों होता है?
मैं सोच रहा हूँ यह स्ट्रिंग की जरूरत है पुष्टि करने के लिए अंतरिक्ष स्ट्रिंग का हिस्सा है उद्धरण के भीतर होना करने के लिए: किसी भी तरह, यह अनावश्यक वाक्य रचना है। मैंने इस स्पेस को और अधिक जांच लिया है और अनुभाग में पाया है: "उदाहरण 7.8। सिंगल कोटेड इम्प्लीट कीज" का उल्लेख है कि: "सभी अग्रणी और पिछली सफेद स्पेस वर्ण सामग्री से बाहर किए गए हैं।" मुझे यकीन नहीं है, लेकिन मुझे लगता है कि इसे इस्तेमाल करने की आवश्यकता हो सकती है! प्रमुख सफेद स्थान को हटाने से रोकने के लिए? – Gilles
उद्धरण के पहले और बाद में संदर्भित अग्रणी और पिछला सफेद स्थान है। यह दिखाया जा सकता है कि '!' इसे संपादित करके अनियंत्रित किया गया है, और yaml को फिर से लोड किया जा रहा है, जो '! 'के बिना बिल्कुल वही लोड करता है। –