Grav - ไวยากรณ์ YAML
YAML หมายถึง YAML Ain't Markup Language ซึ่งรวมถึงเนื้อหาที่มนุษย์อ่านได้และมักใช้ในไฟล์การกำหนดค่าพิมพ์เขียว (ข้อมูลเมตาดาต้าเกี่ยวกับทรัพยากร) และการตั้งค่าเพจ
คุณสมบัติ
ต่อไปนี้เป็นคุณสมบัติของ YAML -
เมื่อเทียบกับ XML หรือ JSON แล้ว YAML มีความซับซ้อนน้อยกว่าและมีคุณสมบัติเหมือนกัน
ให้การตั้งค่าการกำหนดค่าโดยไม่จำเป็นต้องเรียนรู้ประเภทโค้ดที่ซับซ้อนเช่น CSS, JavaScript หรือ PHP
YAML อธิบายข้อมูลและเนื้อหาของไฟล์ YAML ซึ่งสามารถแปลเป็นภาษาหลายประเภทได้อย่างง่ายดาย
กฎพื้นฐานของ YAML
มีกฎพื้นฐานบางประการของ YAML ที่ใช้เพื่อลดความคลุมเครือในหลายภาษาและโปรแกรมที่แก้ไขได้
คุณต้องลงท้ายไฟล์ YAML ด้วย .yaml ส่วนขยาย.
YAML ต้องตรงตามตัวพิมพ์ใหญ่ - เล็ก
YAML ไม่สนับสนุนการใช้แท็บ แทนที่จะใช้แท็บจะใช้ช่องว่างที่ไม่ได้รับการสนับสนุนในระดับสากล
ประเภทข้อมูลพื้นฐานของ YAML
YAML รองรับข้อมูลพื้นฐานบางประเภทซึ่งสามารถใช้ได้กับภาษาโปรแกรมเช่น -
Scalars - สตริงหรือตัวเลข
Sequences - อาร์เรย์หรือรายการ
Mappings - แฮชหรือพจนานุกรม
สเกลาร์
สเกลาร์เป็นชนิดข้อมูลพื้นฐานที่ใช้สตริงหรือตัวเลขบนเพจเพื่อทำงานกับข้อมูล มันอาจจะเป็นboolean property (ไม่ว่าจะใช่หรือไม่ใช่) integer value เช่น 2 หรือ string ของข้อความเช่นคำหรือประโยคหรือชื่อของเว็บไซต์
ตัวอย่างเช่น -
string: "Grav"
integer: 10
float: 10.5
boolean: true
บางครั้งสเกลาร์จะมาพร้อมกับค่าที่ไม่ได้ใส่เครื่องหมายคำพูดเช่นจำนวนเต็มจำนวนลอยหรือบูลีน ค่าสตริงใช้เครื่องหมายวรรคตอนซึ่งมาพร้อมกับเครื่องหมายคำพูดเดี่ยวหรือคู่ซึ่งใช้ Escape เพื่อระบุอักขระ ASCII และ Unicode
ลำดับ
YAML แสดงลำดับในรูปแบบของอาร์เรย์หรือรายการ เป็นการกำหนดแต่ละรายการโดยมีเครื่องหมายขีดเปิด (-) อยู่ในรายการดังที่แสดงด้านล่าง
ตัวอย่างเช่น -
- Apple
- Orange
- Grapes
สมมติว่าคุณต้องการกำหนดลำดับที่ซ้อนกันกับรายการย่อยจากนั้นวางช่องว่างก่อนแต่ละเส้นประในรายการย่อย
ตัวอย่างเช่น -
-
- Apple
- Orange
- Grapes
หากคุณต้องการลำดับที่ซ้อนกันภายในรายการที่ซ้อนกันให้เพิ่มระดับตามที่แสดงด้านล่าง -
ตัวอย่างเช่น -
-
-
- Apple
- Orange
- Grapes
การแมป
เป็นวิธีการกำหนดคีย์พร้อมกับค่า
ตัวอย่างเช่นคุณสามารถกำหนดค่าบางอย่างให้กับองค์ประกอบเฉพาะเป็น -
Sports: cricket
ค่านี้คือ "คริกเก็ต" ที่จับคู่กับคีย์ที่เรียกว่า "กีฬา" คุณสามารถใช้การแมปนี้กับลำดับเพื่อระบุรายการของคริกเก็ต ตัวอย่างเช่นเราจะกำหนดชื่อผู้เล่นบางคนสำหรับค่า "คริกเก็ต" ที่สร้างชื่อเป็นลูกและSports: cricket ในฐานะผู้ปกครอง
Sports: cricket
- Sachin Tendulkar
- Rahul Dravid
- M S Dhoni