Подтвердить что ты не робот

Как выполнить анализ файла конфигурации с помощью erlang?

Я разрабатываю одну программу с помощью erlang, которая должна читать файл конфигурации при запуске, а затем загружать данные конфигурации в базу данных. Первоначально, используя Ruby или C, я могу загрузить файл YAML или файл conf. Я хочу знать, в мире erlang, есть ли хороший способ загрузить файл конфигурации? спасибо!

Это файл YAML-стиля, который мне нужно загрузить, и мне не нравится стиль файла конфигурации

a:
  a1:
    a2: 1
    a3: 2
b:
  b1:
    b2: 3
    b3: 4
4b9b3361

Ответ 1

Если вы сохраняете данные конфигурации как термины Erlang, вы можете использовать встроенный файл: consult/1 для его синтаксического анализа.

Как вы структурируете свои данные, зависит от вас. Например, вы можете использовать пропринтеров:

{a, [{a1, [{a2, 1}, {a3, 2}]}]}.
{b, [{b1, [{b2, 3}, {b3, 4}]}]}.

Или ключ-значение кортежей с ключами в виде списков атомов:

{[a, a1, a2], 1}.
{[a, a1, a3], 2}.
{[b, b1, b2], 3}.
{[b, b1, b4], 4}.

Или с ключами как строки /charlists:

{"a.a1.a2", 1}.
{"a.a1.a3", 2}.
{"b.b1.b2", 3}.
{"b.b1.b4", 4}.

Или с ключами как атомами:

{a.a1.a2, 1}.
{a.a1.a3, 2}.
{b.b1.b2, 3}.
{b.b1.b4, 4}.

И так далее. Это зависит от ваших данных и от того, как вы хотите получить к нему доступ.