YAML Hands On Lab-ساختار YAML
Yaml زبانیست که در آن همه چیز به صورت جفتی یعنی key-value نوشته میشود. به عنوان مثال ما میخواهید مشخصات یک ماشین که نوع آن پراید و رنگ آن قرمز و برای سال ۱۳۷۵ است را به زبان yaml بنویسیم.
Type: pride
Color: red
Year: 1375
در مثال بالا کلمات type, color, year همان key هستند و کلمات pride, red, 1375 همان value هستند.
توجه داشته باشید که بعد از key از : استفاده میکنیم و این : باید به key چسبیده باشد ولی با value یک فاصله داشته باشد.
و اما value ها به ۲ اصلی تقسیم :
- Strings
یک یا چند کلمه string گفته میشود
- Numbers
که numbers خود شامل نواع مختلف میشود:
integer = عدد صحیح مانند 34
float= عدد اعشاری مانند 43.45
date= مانند 2002-12-14
Boolean = به معنای بله یا خیر که در yaml یتوان آنها را با yes/no یا true/false و یا on/off مشخص کرد .
قوانین yaml
زبان فایل زبان یمل باید به yaml. ختم شود.
برای کامنت گذاشتن یا نادیده گرفتن متنی در زبان yaml باید از # استفاده کرد.
yaml اصطلاحا case sensitive است یعنی به کوچک و بزرگ بودن حروف حساس است.
yaml اصطلاحا indentation sensitive است یعنی به فاصله حساس است.
فایل yaml با – – – شروع میشود و با . . . ختم میشود.
انواع فرمت:
کوچک به طور کلی فرمت نوشتن را در yaml میتوان به سه دسته تقسیم کرد.
- Scalars / Literals
- Sequences / List / Array
- Map / Dictionary
همه این syntax ا را میتوان به دو صورت block-style و flow-style نوشت.
Scalars / Literals
این سینتکس همان key: value است که در مورد آن بالاتر صحبت کردیم. به طور کلی نیازی به قرار دادن value در ” یا ‘ نیست. مگر در مواقع خاص که دیرتر در مورد آن صحبت خواهیم کرد.
Block style به حالتی گفته میشود که شما string را در چند خط بنویسید. که شامل دو حالت میشود:
- Folded style
میشود در این حالت ما از علامت < استفاده میکنیم. و این باعث میشود که خروجی این فایل در یک خط به ما نمایش داده شود.
- Literal style
میشود در این حالت ما از علامت | استفاده میکنیم. و این باعث میشود که خروجی این فایل در چند خط به ما نمایش داده شود.
برای حفظ یا از بین بردن فضای خالی بعد از نوشتهها میتوان از مثبت یا منفی استفاده کرد.
مثال: در زیر فضای بعد از نوشتهها حذف میشود.
در زیر فضای بعد از نوشتهها حذف نمیشود.
Flow style به حالتی گفته میشود که شما string را در ۱ خط بنویسید. و شامل سه حالت میشود:
- Quated
در صورتی که از یکی از علامتهای : { } [ ] , & * # ? | – < > = ! % @ در متن خود استفاده میکنید باید از quotation استفاده کنید.
در صورتی که میخواهید در ابتدا و پایان متن خود از فاصله استفاده کنید باید از quotation استفاده کنید.
داخل quotation باید از double quotation استفاده کرد.
- Double quoted
مانند quotation ار میکند با این تفاوت که علامت \ نادیده گرفته میشود.
- Plain text
در صورتی که یک متن ساده بدون کاراکترهای خاص دارید میتوانید آن را بدون quotation بنویسید.
Sequences / List / Array
زمانی که لیستی از value ها داریم, باید از sequence استفاده کرد. که به دو حالت میتوان آنها را نوشت.
به عنوان مثال فرض کنید که لیستی از ماشینهای مختلف دارید.
Block style:
که در این حالت value ها زیر هم با یک خط فاصله می نویسیم.
FLow style:
که در این حالت value ها را پشت سر هم همراه با کاما در یک براکت می نویسیم.
Map / Dictionary
لیستی زمانی که value های شما خود دارای یک جفت key/value هستند. که به دو حالت میتوان آنها را نوشت.
به عنوان مثال لیستی از ماشینهایی دارید که هر کدام دارای key/value هستند.
Block style:
که در این حالت value ها و key ها را زیر هم می نویسیم.
FLow style:
که در این حالت ها و key ها را پشت سر هم همراه با کاما در یک کروشه می نویسیم.