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 ที่ถูกต้อง

ดูเพิ่มเติม