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は、2013年にTom Preston-Wernerによって、XMLやYAMLなど他のデータシリアライゼーション言語に代わるものとして作成されました。これは、設定データを表現するためのより直截的なフォーマットを提供します。JSONが普及しているとはいえ、その構文は設定ファイルにとって煩雑であり得ます。TOMLは、.iniファイルに似ていますが、ネスティング能力とデータ型があるため、人間にとってより明確な構文を提供します。
TOMLの代替にはJSON、YAML、XMLがあります。しかし、TOMLは設定用に特に設計されており、YAMLより明らかにシンプルであり、設定目的においてJSONより読みやすく、XMLより冗長ではありません。
LuaでのTOML処理の実装には一般にサードパーティ製のライブラリが必要です。基本的なパーシングから完全なシリアライゼーションのサポートに至るまで、パフォーマンスと機能はさまざまです。大きな設定ファイルを扱ったり、頻繁に読み書き操作を行う場合は、ライブラリのパフォーマンスと最新のTOMLバージョンへの準拠性を考慮してください。
関連項目
- TOML仕様:https://toml.io/en/
lua-toml
ライブラリ:https://github.com/jonstoler/lua-toml- データシリアライゼーションフォーマットの比較:https://en.wikipedia.org/wiki/Comparison_of_data-serialization_formats