ยาเมล

posted on 08 Aug 2008 01:22 by wonam in softdev

เวลาเขียน Ruby on Rails หรือว่าจะเป็น AppEngine เราต้องไปแก้ config file   ใน framework ทั้งสอง แฟ้มดังกล่าวเก็บในรูปแบบ YAML (YAML Ain't a Markup Language --- ดูบทความในวิกิพีเดีย)

หน้าตาตัวอย่างของแฟ้ม YAML เป็นดังนี้ (เขียนมามั่ว ๆ)

development:
  adapter: sqlite3
  database: students
  tables:
    - students
    - couses
test:
  adapter: sqlite3
  database: students.test
  tables:
    - students
    - lecturers

YAML ใช้การย่อหน้าในการระบุลำดับชั้นของข้อมูล  สำหรับข้อมูลที่เรียงกันมาแต่ละตัวสามารถระบุได้สองแบบ คือเป็นแบบรายการ (list) กับแบบแฮช (hash หรือในบางภาษาจะเรียกว่า dictionary หรือพจนานุกรม เป็นโครงสร้างข้อมูลที่อ้างถึงด้วย key)  ถ้าเขียนนำหน้าด้วยขีด (-) จะเป็นการระบุรายการ ส่วนถ้าระบุด้วย key ก็จะเป็นแฮช

จากแฟ้ม YAML ข้างต้น ถ้าอ่านขึ้นมาที่ตัวแปร a แล้วเรียกใช้จะได้เป็น (ใน ruby) เช่น

a['development']
=> {"adapter"=>"sqlite3", "tables"=>["students", "couses"], "database"=>"students"}

a['development']['tables']
=> ["students", "couses"]

a['development']['tables'][1]
=> "couses"

สิ่งที่ทำให้รูปแบบ YAML น่าสนใจก็คือมีไลบรารีในภาษาต่าง ๆ ที่อ่านแฟ้มตัวอักษรแล้วแปลงให้อยู่ในรูปที่จัดการง่าย และเขียนวัตถุออกในรูปแบบนี้ในแทบจะทุกภาษา

YAML เป็นหนึ่งในรายการยาวเหยียดของรูปแบบในการแปลงข้อมูลให้อยู่ในรูปที่ใช้รับส่งได้ง่าย (serialization)

Comment

Comment:

Tweet