Elixir:
การทำงานร่วมกับ TOML
วิธีการ:
ประการแรก, เพิ่ม TOML parser ไปยัง dependencies ของคุณใน mix ตัวอย่างนี้ใช้ toml-elixir
:
def deps do
[
{:toml_elixir, "~> 2.0"}
]
end
อ่านไฟล์ TOML:
{:ok, toml_data} = File.read("config.toml")
{:ok, parsed_data} = TomlElixir.parse(toml_data)
เพื่อแปลงข้อมูล Elixir เป็น TOML:
data = %{title: "TOML Example", owner: %{name: "Tom Preston-Werner"}}
toml_string = TomlElixir.encode(data)
ตัวอย่างผลลัพธ์:
"title = \"TOML Example\"\n\n[owner]\nname = \"Tom Preston-Werner\"\n"
การดำน้ำลึก
TOML ถูกสร้างโดย Tom Preston-Werner, ผู้ร่วมก่อตั้ง GitHub, สำหรับใช้ในไฟล์การกำหนดค่า มันถูกออกแบบมาเพื่อให้ง่ายกว่า XML และละเอียดกว่า YAML ในขณะที่รักษาความเอกลักษณ์
ทางเลือกอื่น ๆ รวมถึงไฟล์ JSON, YAML, และ INI, แต่ละอย่างมีข้อดีข้อเสียของตัวเองในแง่ของความสามารถในการอ่านและการจับคู่โครงสร้างข้อมูล TOML โดดเด่นในการแสดงข้อมูลแบบตารางและการจัดกลุ่มข้อมูลที่ซับซ้อน
ใน Elixir, การจัดการ TOML ขึ้นอยู่กับไลบรารีการแปลงโค้ด (decoding) และการเข้ารหัส (encoding) ซึ่งทำการแปลงสายข้อมูล TOML เป็นแมปของ Elixir และกลับกัน การแยกวิเคราะห์ทํางานโดยการจับคู่กฎไวยากรณ์ของ TOML และแปลงเป็นชนิดข้อมูลของ Elixir การเข้ารหัสทำการตรงกันข้ามโดยการแมปชนิดข้อมูลของ Elixir กลับไปเป็นไวยากรณ์ TOML ที่ถูกต้อง
ดูเพิ่มเติม
- ภาษา TOML: https://toml.io/en/
toml-elixir
ที่เก็บบน GitHub: https://github.com/bitwalker/toml-elixir- รายละเอียดแพ็คเกจ Hex สำหรับ
toml-elixir
: https://hex.pm/packages/toml_elixir