Elixir:
Làm việc với TOML

Làm thế nào:

Đầu tiên, thêm một bộ phân tích TOML vào các phụ thuộc mix của bạn. Ví dụ này sử dụng toml-elixir:

def deps do
  [
    {:toml_elixir, "~> 2.0"}
  ]
end

Đọc một tệp TOML:

{:ok, toml_data} = File.read("config.toml")
{:ok, parsed_data} = TomlElixir.parse(toml_data)

Để chuyển đổi dữ liệu Elixir thành TOML:

data = %{title: "Ví dụ TOML", owner: %{name: "Tom Preston-Werner"}}
toml_string = TomlElixir.encode(data)

Dữ liệu mẫu:

"title = \"Ví dụ TOML\"\n\n[owner]\nname = \"Tom Preston-Werner\"\n"

Khám phá sâu hơn

TOML được tạo ra bởi Tom Preston-Werner, đồng sáng lập của GitHub, để sử dụng trong các tệp cấu hình. Nó được thiết kế để dễ hiểu hơn XML và ngắn gọn hơn YAML trong khi vẫn giữ được sự nhất quán.

Các lựa chọn thay thế bao gồm các tệp JSON, YAML và INI, mỗi loại có những điểm đánh đổi trong đọc hiểu của con người và khả năng tương thích cấu trúc dữ liệu. TOML nổi bật trong việc biểu diễn rõ ràng dữ liệu bảng và nhóm lồng nhau của dữ liệu.

Trong Elixir, việc xử lý TOML phụ thuộc vào các thư viện mã hóa và giải mã, chuyển đổi chuỗi TOML thành các bản đồ Elixir và ngược lại. Việc phân tích hoạt động bằng cách khớp các quy tắc cú pháp của TOML và chuyển đổi chúng thành các loại dữ liệu của Elixir. Mã hóa thực hiện ngược lại bằng cách ánh xạ các loại dữ liệu của Elixir trở lại thành cú pháp TOML hợp lệ.

Xem thêm