YAML - การเยื้องและการแยก
การเยื้องและการแยกเป็นแนวคิดหลักสองประการเมื่อคุณเรียนรู้ภาษาโปรแกรมใด ๆ บทนี้พูดถึงแนวคิดทั้งสองที่เกี่ยวข้องกับ YAML โดยละเอียด
เยื้อง YAML
YAML ไม่มีช่องว่างบังคับ นอกจากนี้ไม่จำเป็นต้องสอดคล้องกัน การเยื้อง YAML ที่ถูกต้องแสดงอยู่ด้านล่าง -
a:
b:
- c
- d
- e
f:
"ghi"
คุณควรจำกฎต่อไปนี้ในขณะที่ทำงานกับการเยื้องใน YAML: บล็อกโฟลว์ต้องมีช่องว่างอย่างน้อยบางส่วนที่มีระดับบล็อกปัจจุบันอยู่
เนื้อหาโฟลว์ของ YAML ครอบคลุมหลายบรรทัด จุดเริ่มต้นของเนื้อหาโฟลว์เริ่มต้นด้วย{ หรือ [.
รายการบล็อกมีการเยื้องเช่นเดียวกับระดับบล็อกโดยรอบเนื่องจาก - ถือเป็นส่วนหนึ่งของการเยื้อง
ตัวอย่างของ Intended Block
สังเกตโค้ดต่อไปนี้ที่แสดงการเยื้องพร้อมตัวอย่าง -
--- !clarkevans.com/^invoice
invoice: 34843
date : 2001-01-23
bill-to: &id001
given : Chris
family : Dumars
address:
lines: |
458 Walkman Dr.
Suite #292
city : Royal Oak
state : MI
postal : 48046
ship-to: *id001
product:
- sku : BL394D
quantity : 4
description : Basketball
price : 450.00
- sku : BL4438H
quantity : 1
description : Super Hoop
price : 2392.00
tax : 251.42
total: 4443.52
comments: >
Late afternoon is best.
Backup contact is Nancy
Billsmer @ 338-4338.
การแยกสตริง
สตริงถูกแยกโดยใช้สตริงที่มีเครื่องหมายคำพูดคู่ หากคุณหลีกเลี่ยงอักขระขึ้นบรรทัดใหม่ในสตริงที่กำหนดอักขระนั้นจะถูกลบและแปลเป็นค่าช่องว่างอย่างสมบูรณ์
ตัวอย่าง
ในตัวอย่างนี้เราได้เน้นรายชื่อสัตว์ที่แสดงเป็นโครงสร้างอาร์เรย์พร้อมด้วยประเภทข้อมูลของสตริง องค์ประกอบใหม่ทุกรายการจะแสดงด้วยคำนำหน้าของยัติภังค์ตามที่กล่าวถึงเป็นคำนำหน้า
-
- Cat
- Dog
- Goldfish
-
- Python
- Lion
- Tiger
อีกตัวอย่างหนึ่งในการอธิบายการแสดงสตริงใน YAML มีการกล่าวถึงด้านล่าง
errors:
messages:
already_confirmed: "was already confirmed, please try signing in"
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
expired: "has expired, please request a new one"
not_found: "not found"
not_locked: "was not locked"
not_saved:
one: "1 error prohibited this %{resource} from being saved:"
other: "%{count} errors prohibited this %{resource} from being saved:"
ตัวอย่างนี้อ้างถึงชุดข้อความแสดงข้อผิดพลาดที่ผู้ใช้สามารถใช้ได้เพียงแค่กล่าวถึงประเด็นสำคัญและดึงค่าตามนั้น YAML รูปแบบนี้เป็นไปตามโครงสร้างของ JSON ซึ่งผู้ใช้ที่เพิ่งเริ่มใช้ YAML สามารถเข้าใจได้