YAML - इंडेंटेशन और पृथक्करण

इंडेंटेशन और पृथक्करण दो मुख्य अवधारणाएं हैं जब आप किसी भी प्रोग्रामिंग भाषा सीख रहे हैं। यह अध्याय YAML से संबंधित इन दो अवधारणाओं के बारे में विस्तार से बात करता है।

YAML का इंडेंटेशन

YAML में कोई अनिवार्य स्थान शामिल नहीं है। इसके अलावा, लगातार बने रहने की आवश्यकता नहीं है। मान्य YAML इंडेंटेशन नीचे दिखाया गया है -

a:
   b:
      - c
      -  d
      - e
f:
      "ghi"
  • YAML में इंडेंटेशन के साथ काम करते समय आपको निम्नलिखित नियमों को याद रखना चाहिए: फ्लो ब्लॉक को वर्तमान ब्लॉक स्तर के साथ कम से कम कुछ रिक्त स्थान के साथ करना चाहिए।

  • YAML की प्रवाह सामग्री कई पंक्तियों तक फैली हुई है। प्रवाह सामग्री की शुरुआत के साथ शुरू होता है{ या [

  • ब्लॉक सूची आइटम में आसपास के ब्लॉक स्तर के समान इंडेंटेशन शामिल है क्योंकि - इंडेंटेशन का एक हिस्सा माना जाता है।

बरकरार ब्लॉक का उदाहरण

निम्न कोड का निरीक्षण करें जो उदाहरणों के साथ इंडेंटेशन दिखाता है -

--- !clarkevans.com/^invoice
invoice: 34843
date   : 2001-01-23
bill-to: &id001
   given  : Chris
   family : Dumars
   address:
      lines: |
            458 Walkman Dr.
            Suite #292
      city    : Royal Oak
      state   : MI
      postal  : 48046
ship-to: *id001
product:
    - sku         : BL394D
      quantity    : 4
      description : Basketball
      price       : 450.00
   - sku         : BL4438H
      quantity    : 1
      description : Super Hoop
      price       : 2392.00
tax  : 251.42
total: 4443.52
comments: >
    Late afternoon is best.
    Backup contact is Nancy
    Billsmer @ 338-4338.

स्ट्रिंग्स का पृथक्करण

डबल-उद्धृत स्ट्रिंग का उपयोग करके स्ट्रिंग्स को अलग किया जाता है। यदि आप दिए गए स्ट्रिंग में न्यूलाइन वर्णों से बचते हैं, तो इसे पूरी तरह से हटा दिया जाता है और अंतरिक्ष मूल्य में अनुवादित किया जाता है।

उदाहरण

इस उदाहरण में हमने डेटा प्रकार के स्ट्रिंग के साथ एक सरणी संरचना के रूप में सूचीबद्ध जानवरों की सूची पर ध्यान केंद्रित किया है। प्रत्येक नए तत्व को उपसर्ग के रूप में उल्लिखित हाइफ़न के एक उपसर्ग के साथ सूचीबद्ध किया गया है।

-
 - Cat
 - Dog
 - Goldfish
-
 - Python
 - Lion
 - Tiger

YAML में स्ट्रिंग प्रतिनिधित्व की व्याख्या करने के लिए एक और उदाहरण नीचे वर्णित है।

errors:
      messages:
         already_confirmed: "was already confirmed, please try signing in"
         confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
         expired: "has expired, please request a new one"
         not_found: "not found"
         not_locked: "was not locked"
         not_saved:
            one: "1 error prohibited this %{resource} from being saved:"
            other: "%{count} errors prohibited this %{resource} from being saved:"

यह उदाहरण त्रुटि संदेशों के सेट को संदर्भित करता है जिसका उपयोग उपयोगकर्ता मुख्य पहलू का उल्लेख करके और तदनुसार मूल्यों को प्राप्त करने के लिए कर सकता है। YAML का यह पैटर्न JSON की संरचना का अनुसरण करता है जिसे उपयोगकर्ता द्वारा समझा जा सकता है जो YAML के लिए नया है।