YAML'de üç tür veri türü vardır:
- Skaler
- Liste
- Sözlük
Skaler veri türü:
Skaler basit bir veri türüdür. YAML'de skaler, bir anahtar için basit bir değer anlamına gelir. Skalerin değeri tamsayı, kayan nokta, Boolean ve string olabilir. Skaler veri türleri iki veri türüne ayrılır:
- Sayısal Veri türü
- Sicim
Sayısal Veri türü
Üç tür sayısal veri türü vardır:
- Tamsayı
- Kayan nokta sayıları
- Boole'lar
Bir Tamsayı veri türü ondalık, sekizli veya onaltılı olabilir.
kesir olarak 0,0625
Örneğin:
--- age: 12345 octalexample: 012345 hexaexample: 0x12d4
Burada hex değeri 0x ile, sekizlik değer ise başında sıfır ile gösterilmektedir. Bu belgeyi python betiğimizde çalıştırdığımızda aşağıdaki çıktı üretilecektir:
age: 12345 octalexample: 9946 hexaexample: 4820
kayan nokta değeri sabit ve üstel olabilir.
Örneğin:
--- height: 180.0 exp: 12.3015e+05
Yukarıdaki varlığı değerlendirdiğimizde aşağıdakileri elde ederiz:
height: 180.0 exp: 1230150.0
A Boole değeri Doğru/Yanlış veya Evet/Hayır veya Açık/Kapalı olabilir.
Örneğin:
tip değişkenleri java
--- boolenval1: True booleanval2: False fan: On light: Off
Sicim
YAML dizeleri Unicode'dur. Aşağıdaki örnekte tırnak işaretleri kullanmadan basit bir dize tanımlayacağız.
Örnek:
--- str1: this is a normal string
Bunu işlediğimizde aşağıdaki çıktı oluşacaktır:
str1: this is a normal string
Şimdi kaçış dizisine sahip bir dize tanımlayacağız. Aşağıdaki dize özel bir karakter (alfasayısal karakter dışında herhangi bir şey) içerdiğinden çift tırnak işareti içerir.
--- str1: 'the cost is 390 ' str2: the cost is 390
Bunu işlediğimizde aşağıdaki çıktı oluşacaktır:
str1: the cost is 390 str2: the cost is 390
YAML dosyası sırasında bir veri değişkeninin değerini null olarak ayarlayabiliriz. Daha sonra null değerini başka bir değere değiştirecek bir program yazabiliriz.
ABD şehrinin adı
--- str1: null str2: ~
Programımız bunu şu şekilde işler:
str1: none str2: none
YAML'de > sembolünü kullanarak çok satırlı bir stringi tek satıra yazabiliriz. Burada yeni satır karakteri ( ) dikkate alınmayacaktır.
Örnek:
str: > this is a multi-line string it spans more than one line
Yukarıdaki dize, yeni satırlar olmadan aşağıdaki gibi yorumlanacaktır:
Java tamsayı
str : this is a multi-line string it spans more than one line
YAML'de | kullanarak çok satırlı dizeyi yeni satıra yazabiliriz. sembol. Buna yeni satır karakteri( ) dahil edilecektir.
Örnek:
str: | this is a multi-line string it spans more than one line
Böylece yeni satırların belgedeki yerlerini şu şekilde görüyoruz:
str : this is a multi-line string it spans more than one line
Listeler
Listeyi tek satırda şu şekilde tanımlayabiliriz:
--- items: [6, 7, 8, 9, 10] name: [six, seven, eight, nine, ten]
Bu stile blok stili denir. Yukarıdaki listeyi birden fazla satıra şu şekilde yerleştirebiliriz:
linux dosya sistemi nedir
--- items: - 6 - 7 - 8 name: - 'six' - 'seven' - 'eight' - 'nine'
Bu stile akış stili denir. Karmaşık nesneler içeren bir listenin birden fazla satıra ihtiyacı vardır.
--- items: - values: value1: value 2: value 3: - other values: key: value
Bir dizi herhangi bir sayıda geçerli YAML değerini içerebilir. Ancak bir listenin değeri aynı türde olamaz.
Sözlükler
Karmaşık veri yapısını barındıran karmaşık bir YAML dosyası yazmak istiyorsak sözlükleri kullanacağız. Bu, anahtar: değer çiftlerinden oluşan bir koleksiyondur ve anahtar: değer çiftlerinin her biri, birçok seçenekle iç içe yerleştirilebilir.
Örnek 1:
--- student1: 'john' hobbies: - music - reading - dancing
Yukarıdaki örnekte öğrenci ilk anahtardır ve John değerdir. Hobiler ikinci anahtardır ancak iç içe geçmiştir, yani bir değerler listesi içerir. Anahtarın değeri yine bir sonraki örnekte göreceğimiz anahtar: değer çifti olabilir.
Örnek 2:
student2: fatherName: 'William' motherName: 'Marry' subjectDetails: subject1: 70 subject2: 100
SubjectDetails bir anahtarı gösterir ve bu anahtarın değeri, anahtar: değer çiftlerinin bir listesidir. babaAdı, anneAdı ve konuAdı anahtarlardır. KonuAdı anahtarının bir anahtar listesi içerdiği durumda: değer çiftleri ve konu1 ve konu2, 70 ve 100 değerlerinin anahtarlarıdır.