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