Lua:
การทำงานร่วมกับ TOML
วิธีการ:
ขั้นแรก, ตรวจสอบให้แน่ใจว่าสภาพแวดล้อม Lua ของคุณมีอินเทอร์เพรเตอร์ TOML เราจะใช้ lua-toml
สำหรับตัวอย่างนี้
local toml = require("toml")
-- แยกวิเคราะห์สตริง TOML
local toml_data = [[
title = "TOML Example"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z
]]
local data = toml.parse(toml_data)
print(data.title) -- "TOML Example"
-- สร้างสตริง TOML
local table_data = {
title = "TOML Example",
owner = {
name = "Tom Preston-Werner",
dob = os.time({year=1979, month=5, day=27, hour=7, min=32})
}
}
local toml_string = toml.encode(table_data)
print(toml_string)
ผลลัพธ์ตัวอย่าง:
TOML Example
การศึกษาลงลึก
TOML ถูกสร้างขึ้นโดย Tom Preston-Werner ในปี 2013 เป็นทางเลือกอื่นที่แตกต่างจากภาษาการซีเรียลไลส์ข้อมูลอื่น ๆ อย่าง XML และ YAML โดยนำเสนอรูปแบบที่ง่ายขึ้นในการแทนค่าข้อมูลการตั้งค่า แม้ว่า JSON จะเป็นที่แพร่หลาย แต่ไวยากรณ์ของมันอาจจะยุ่งยากสำหรับไฟล์การตั้งค่า TOML โดดเด่นด้วยไวยากรณ์ที่ชัดเจนสำหรับมนุษย์ คล้ายกับไฟล์ .ini แต่มีความสามารถในการซ้อนกันและชนิดข้อมูล
ทางเลือกอื่น ๆ ที่คล้ายกับ TOML ได้แก่ JSON, YAML, และ XML อย่างไรก็ตาม TOML ถูกออกแบบมาโดยเฉพาะสำหรับการตั้งค่าและอาจถือว่าง่ายกว่า YAML, อ่านง่ายกว่า JSON สำหรับวัตถุประสงค์การตั้งค่า, และไม่เยิ่นเย้อเท่ากับ XML
การดำเนินการดูแล TOML ใน Lua โดยทั่วไปจำเป็นต้องใช้ไลบรารีของบุคคลที่สาม ประสิทธิภาพและคุณสมบัติอาจแตกต่างกันไป ตั้งแต่การวิเคราะห์พื้นฐานไปจนถึงการสนับสนุนการซีเรียลไลส์อย่างเต็มรูปแบบ เมื่อจัดการกับไฟล์การตั้งค่าขนาดใหญ่หรือการทำงานอ่าน/เขียนอย่างบ่อยครั้ง ให้พิจารณาถึงประสิทธิภาพของไลบรารีและการปฏิบัติตามเวอร์ชัน TOML ล่าสุด
ดูเพิ่มเติม
- ข้อกำหนดของ TOML: https://toml.io/en/
- ไลบรารี
lua-toml
: https://github.com/jonstoler/lua-toml - การเปรียบเทียบรูปแบบการซีเรียลไลส์ข้อมูล: https://en.wikipedia.org/wiki/Comparison_of_data-serialization_formats