2017-02-08 10 views
7

YAML spec स्पष्ट रूप से कहा गया है: मान युग्म: प्रत्येक कुंजी चिह्नित करने के लिए: ("")वाईएएमएल स्पेक को कोलन के बाद एक जगह क्यों जरूरी है?

मैपिंग एक कॉलन और अंतरिक्ष का उपयोग करें।

तो यह कानूनी है:

foo: bar 

लेकिन यह, नहीं है:

foo:bar 

मुझे लगता है कि अंतरिक्ष के बारे में ranting कर रहे हैं ऑनलाइन कई लोगों को देखते हैं। मुझे लगता है कि उनके पास एक बिंदु है। मैं इसे कई बार जला दिया।

अंतरिक्ष अनिवार्य क्यों है? इसके पीछे डिजाइन विचार क्या था?

उत्तर

8

यह याद करने के लिए आसान है, क्योंकि है कि विनिर्देश केवल एक आंतरिक लिंक का अंतिम वर्ण पर प्रकाश डाला की विचित्र सम्मेलन का उपयोग करता है, लेकिन खंड आप बोली में “: ” वास्तव में एक लिंक to another section of the specification जो आपके प्रश्न के उत्तर है:

आम तौर पर, वाईएएमएल जोर देता है कि ":" मानचित्रण मान सूचक को सफेद स्थान से मूल्य से अलग किया जाना चाहिए। इस प्रतिबंध का लाभ यह है कि ":" चरित्र सादे स्केलरों के अंदर उपयोग किया जा सकता है, जब तक कि यह सफेद स्थान के बाद न हो। यह अनगिनत यूआरएल और टाइमस्टैम्प के लिए अनुमति देता है। यह भ्रम के लिए एक संभावित स्रोत भी है क्योंकि "ए: 1" एक सादा स्केलर है और एक कुंजी नहीं: मूल्य जोड़ी।

तो प्रेरणा है कि आप की आवश्यकता के बिना इस जैसे सूचियों में लिख सकते हैं किसी भी उद्धृत:

useful_values: 
- 2:30 
- http://example.com 
- localhost:8080 

तो अंतरिक्ष वैकल्पिक था, यह अस्पष्ट किया जा रहा हो सकते हैं, और चाबी का एक सेट के रूप में व्याख्या -वल जोड़े।

इसके अलावा: उस दस्तावेज़ पर लिंक स्वरूपण को कम बेकार बनाने के लिए जेएस का एक स्निपेट यहां दिया गया है।

document.styleSheets[0].insertRule('a[href^="#"] { color: #00A !important; text-decoration: underline !important; background: none !important; }', 0); 
+0

वाह! वे बहुत चुस्त हैं। धन्यवाद। – Vitaliy

संबंधित मुद्दे