YAML - Sözdizimi İlkelleri

Bu bölümde, YAML'deki söz dizimi temellerinin aşağıdaki yönlerini öğreneceksiniz -

  • Üretim parametreleri
  • Girinti Uzayları
  • Ayırma Alanları
  • Yoksayılan Satır Öneki
  • Çizgi katlama

Her yönü ayrıntılı olarak anlayalım.

Üretim Parametreleri

Üretim parametreleri, belirli bir üretimde kullanılan bir dizi parametre ve izin verilen değerler aralığını içerir. Aşağıdaki üretim parametreleri listesi YAML'de kullanılmaktadır -

Girinti

Karakterle belirtilir n veya mKarakter akışı, içerdiği blokların girinti düzeyine bağlıdır. Pek çok üretim bu özellikleri parametreleştirmiştir.

Bağlam

İle gösterilir c. YAML, iki grup bağlamı destekler:block styles ve flow styles.

Tarzı

S ile gösterilir. Skaler içerik, beş stilden birinde sunulabilir:plain, double quoted and single quoted flow, literal and folded block.

Chomping

İle gösterilir t. Blok skalerleri, bloğu kırpmaya yardımcı olan birçok mekanizma sunar:strip, clip ve keep. Chomping, yeni satır dizelerini biçimlendirmeye yardımcı olur. Blok stili gösterimi kullanılır. Chomping süreci göstergeler yardımıyla gerçekleşir. Göstergeler, dizenin satırsonları ile hangi çıktının üretilmesi gerektiğini kontrol eder. Yeni satırlar ile kaldırılır(-) operatör ve yeni satırlar eklenir (+) Şebeke.

Kırma işlemine bir örnek aşağıda gösterilmiştir -

strip: |-
   text↓
clip: |
   text↓
keep: |+
   text↓

Belirtilen YAML örneğini ayrıştırdıktan sonraki çıktı aşağıdaki gibidir -

Girinti Uzayları

YAML karakter akışında, girinti, sıfır veya daha fazla karakterle bir satır kesme karakteri olarak tanımlanır. Unutulmaması gereken en önemli nokta, girintinin herhangi bir sekme karakteri içermemesi gerektiğidir. Girintideki karakterler hiçbir zaman düğümün içerik bilgilerinin bir parçası olarak düşünülmemelidir. Daha iyi anlamak için aşağıdaki kodu inceleyin -

%YAML 1.1
---
!!map {
   ? !!str "Not indented"
   : !!map {
      ? !!str "By one space"
      : !!str "By four\n spaces\n",
      ? !!str "Flow style"
      : !!seq [
         !!str "By two",
         !!str "Still by two",
         !!str "Again by two",
      ]
   }
}

Girintilemeden sonra görebileceğiniz çıktı aşağıdaki gibidir -

{
   "Not indented": {
      "By one space": "By four\n spaces\n", 
      "Flow style": [
         "By two", 
         "Still by two", 
         "Again by two"
      ]
   }
}

Ayırma Alanları

YAML, belirteçleri ayırmak için boşluk karakterleri kullanır. En önemli not, YAML'deki ayırmanın sekme karakterleri içermemesi gerektiğidir.

Aşağıdaki tek kod, ayırma alanlarının kullanımını gösterir -

{ · first: · Sammy, · last: · Sosa · }
Yukarıda gösterilen sözdizimi size şu çıktıyı verir:
{
   "\u00b7 last": "\u00b7 Sosa \u00b7", 
   "\u00b7 first": "\u00b7 Sammy"
}

Yoksayılan Satır Öneki

Boş önek her zaman skaler türe bağlı olarak girintiyi içerir ve bu da başında bir boşluk içerir. Düz skalarlar herhangi bir sekme karakteri içermemelidir. Öte yandan, alıntılanan skalarlar sekme karakterleri içerebilir. Blok skaler tamamen girintiye bağlıdır.

Aşağıdaki örnek, sistematik bir şekilde göz ardı edilen satır önekinin çalışmasını göstermektedir -

%YAML 1.1
---
!!map {
   ? !!str "plain"
   : !!str "text lines",
   ? !!str "quoted"
   : !!str "text lines",
   ? !!str "block"
   : !!str "text·®lines\n"
}

Blok akışları için elde edilen çıktı aşağıdaki gibidir -

{
   "plain": "text lines", 
   "quoted": "text lines", 
   "block": "text\u00b7\u00aelines\n"
}

Hat Katlama

Satır Katlama, okunabilirlik için uzun satırları kırmaya izin verir. Daha fazla miktarda kısa satır, daha iyi okunabilirlik anlamına gelir. Satır katlama, uzun çizginin orijinal anlamını not ederek elde edilir. Aşağıdaki örnek, çizgi katlamayı göstermektedir -

%YAML 1.1
--- !!str
"specific\L\
trimmed\n\n\n\
as space"

JSON formatında satır katlama çıktısını aşağıdaki gibi görebilirsiniz -

"specific\u2028trimmed\n\n\nas space"