Lua:
עבודה עם YAML

איך ל:

ב-Lua אין תמיכה מובנית ל-YAML, אך ניתן לעבוד עם קבצי YAML באמצעות ספריות צד שלישי כמו lyaml. ספרייה זו מאפשרת קידוד ופענוח של נתוני YAML עם Lua. ראשית, תצטרך להתקין את lyaml דרך LuaRocks, מנהל החבילות של Lua:

luarocks install lyaml

פענוח YAML:

נניח שיש לך את תוכן YAML הבא בקובץ בשם config.yaml:

database:
  host: localhost
  port: 3306
  username: user
  password: pass

תוכל לפענח קובץ YAML זה לתוך טבלה של Lua עם הקוד הבא:

local yaml = require('lyaml')
local file = io.open("config.yaml", "r")
local content = file:read("*all")
file:close()

local data = yaml.load(content)
for k,v in pairs(data.database) do
  print(k .. ": " .. v)
end

כאשר תריץ את הסקריפט הזה, הוא אמור להציג:

host: localhost
port: 3306
username: user
password: pass

קידוד YAML:

לשם קידוד טבלאות Lua לפורמט YAML, אתה משתמש בפונקציה dump המסופקת על ידי lyaml. בהתחשב בכך שאתה רוצה ליצור ייצוג YAML של הטבלה הבאה של Lua:

local data = {
  website = {
    name = "Example",
    owner = "Jane Doe",
    metadata = {
      creation_date = "2023-01-01",
      tags = {"blog", "personal", "lua"}
    }
  }
}

local yaml = require('lyaml')
local yaml_data = yaml.dump({data})
print(yaml_data)

ה-YAML שיוצג יהיה:

- website:
    metadata:
      creation_date: '2023-01-01'
      tags: [blog, personal, lua]
    name: Example
    owner: Jane Doe

בעקבות התבניות הללו, מתכנתי Lua יכולים לנהל נתוני YAML ביעילות למגוון של יישומים. אופרציות אלו עם YAML הן קריטיות לפיתוח יישומי Lua מגוונים, שמתקשרים בחלקתיות עם חלקים אחרים של מערכת או עם מערכות אחרות ישירות.