- 11 Ağu 2018
- 2,180
- 7
- 6
YAML nedir?
YAML, XML, JSON vb. alternatiflerine kıyasla daha insan diline yakın ve daha kolay anlaşılabilinen bir markup dilidir. YAML dili ile hazırlanmış bir markup pek çok yapıyı içinde barındırır ve pek çok dilde pek çok kütüphane ile kolayca işlenebilir ve okunabilir.
Sık kullanılan dillerde YAML işleme kütüphaneleri
C/C++ için yaml-cpp (https://github.com/jbeder/yaml-cpp)
C# için YamlDotNet (https://github.com/aaubry/YamlDotNet)
Python için pyyaml (https://pyyaml.org/wiki/PyYAML********ation)
Ruby için yaml (https://ruby-doc.org/stdlib-2.5.1/libdoc/yaml/rdoc/YAML.html)
Perl için YAML (https://****cpan.org/pod/YAML)
PHP için yaml_parse (https://www.php.net/manual/tr/function.yaml-parse.php)
YAML'a başlangıç
YAML dosyası oluşturma ve yorum satırı
YAML dosya standardı *.yaml uzantulu olmalıdır. Örnek olarak lsddata.yaml adında bir YAML dosyayı oluşturalım.
YAML'da yorum satırları # ile başlar ve tüm satırı kapsar.
Veri tanılama ve bloklar
YAML formatında boşluklar ve bazı semboller ile sentaks sağlanır örnek olarak bir küme oluşturalım.
dünya ve ay isminde ":" sembolü ile grup oluşturup "-" sembolü ile elemanları tanımladık.
Ardından tekrar ":" işaretleri ile değer tanımladık. Şimdi biraz da listeler giriş yapıp onlara göz atalım. Listeler "[" ve "]" karakterleri arasına virgül ile ayrılarak tanımlanır. Sıfırdan bir tane *yaml dosyayı oluşturup listelere geçelim.
Meyve ve sebze adında 2 tane liste oluşturup tekrar ':' karakteri ile içerisine tanımladık. --- karakterleri ile ise 2 tane grubu birbirinden ayırdık.
Özel karakterler
YAML'da işlem yapacağımız belli karakterler vardır. Yukarıdaki örnekte verildiği gibi ',' ':' '-' vb. Şimdi diğerlerini inceleyelim.
? -> Eşleme anahtarı
* -> Takma ad (alias) belirleme
& -> Düğüm bağlantısı oluşturma
{ ve } -> Harita yapısı
[ ve ] -> Küme yapısı
% -> Yönergeyi belirtme
# -> Yorum satırı ifadesi
YAML, XML, JSON vb. alternatiflerine kıyasla daha insan diline yakın ve daha kolay anlaşılabilinen bir markup dilidir. YAML dili ile hazırlanmış bir markup pek çok yapıyı içinde barındırır ve pek çok dilde pek çok kütüphane ile kolayca işlenebilir ve okunabilir.
Sık kullanılan dillerde YAML işleme kütüphaneleri
C/C++ için yaml-cpp (https://github.com/jbeder/yaml-cpp)
C# için YamlDotNet (https://github.com/aaubry/YamlDotNet)
Python için pyyaml (https://pyyaml.org/wiki/PyYAML********ation)
Ruby için yaml (https://ruby-doc.org/stdlib-2.5.1/libdoc/yaml/rdoc/YAML.html)
Perl için YAML (https://****cpan.org/pod/YAML)
PHP için yaml_parse (https://www.php.net/manual/tr/function.yaml-parse.php)
YAML'a başlangıç
YAML dosyası oluşturma ve yorum satırı
YAML dosya standardı *.yaml uzantulu olmalıdır. Örnek olarak lsddata.yaml adında bir YAML dosyayı oluşturalım.
Kod:
[COLOR="Silver"]#Bu bir yorum satırıdır
#Merhaba Dünya[/COLOR]
YAML'da yorum satırları # ile başlar ve tüm satırı kapsar.
Veri tanılama ve bloklar
YAML formatında boşluklar ve bazı semboller ile sentaks sağlanır örnek olarak bir küme oluşturalım.
Kod:
[COLOR="Silver"]#Bu bir yorum satırıdır
#Merhaba Dünya
[/COLOR][COLOR="Orange"]dunya:[/COLOR]
[COLOR="Yellow"] -asya
-avrupa
-latin amerika[/COLOR]
[COLOR="Orange"]ay:[/COLOR]
[COLOR="Yellow"] -Mons Hadley Deltası
-Tsiolkvoskiy Krateri[/COLOR]
dünya ve ay isminde ":" sembolü ile grup oluşturup "-" sembolü ile elemanları tanımladık.
Kod:
[COLOR="Silver"]#Bu bir yorum satırıdır
#Merhaba Dünya
[/COLOR][COLOR="Orange"]dunya:[/COLOR]
[COLOR="Yellow"] -asya : 1
-avrupa : 2
-latin amerika : 3[/COLOR]
[COLOR="Orange"]ay:[/COLOR]
[COLOR="Yellow"] -Mons Hadley Deltası
-Tsiolkvoskiy Krateri[/COLOR]
Ardından tekrar ":" işaretleri ile değer tanımladık. Şimdi biraz da listeler giriş yapıp onlara göz atalım. Listeler "[" ve "]" karakterleri arasına virgül ile ayrılarak tanımlanır. Sıfırdan bir tane *yaml dosyayı oluşturup listelere geçelim.
Kod:
[COLOR="Orange"]---[/COLOR]
[COLOR="orange"]-meyve : [/COLOR]['[COLOR="Yellow"]elma[/COLOR]', '[COLOR="yellow"]armut[/COLOR], '[COLOR="yellow"]portakal[/COLOR]']
[COLOR="orange"]---[/COLOR]
[COLOR="orange"]-sebze : [/COLOR]['[COLOR="yellow"]pırasa[/COLOR]', '[COLOR="yellow"]lahana[/COLOR]', '[COLOR="yellow"]kebap[/COLOR]']
Meyve ve sebze adında 2 tane liste oluşturup tekrar ':' karakteri ile içerisine tanımladık. --- karakterleri ile ise 2 tane grubu birbirinden ayırdık.
Özel karakterler
YAML'da işlem yapacağımız belli karakterler vardır. Yukarıdaki örnekte verildiği gibi ',' ':' '-' vb. Şimdi diğerlerini inceleyelim.
? -> Eşleme anahtarı
* -> Takma ad (alias) belirleme
& -> Düğüm bağlantısı oluşturma
{ ve } -> Harita yapısı
[ ve ] -> Küme yapısı
% -> Yönergeyi belirtme
# -> Yorum satırı ifadesi