Синтаксис многоуровневой таблицы TOML внутри массива - неверно или нет - PullRequest
0 голосов
/ 07 апреля 2020

Я вижу ошибку при разборе парсерами Python и JS. Я не могу найти пример в репозитории TOML о том, следует ли это принимать или нет:

[[somearray]]
one.two = false # fails, '.' not allowed in key

Я знаю, что могу express это как:

[[somearray]]
   [somearray.one]
   two = false # OK

Readme TOML предлагает этот пример (среди прочего):

[fruit]
apple.color = "red"
apple.taste.sweet = true

, который не включает массивы, но, кажется, узаконивает этот синтаксис.

Я также заметил, что простой файл с таким содержанием:

apple.color = "red"

отклонено. В заключение, до тех пор, пока вы не войдете в «табличный режим» (так сказать) с реальной таблицей в скобках, ключи могут быть только одиночными.

Теперь снова, в TOML readme он говорит (хотя в разделе таблиц):

"Пунктирные ключи определяют все слева от каждой точки как таблицу."

Очевидно, что если парсеры основного потока задохнутся, это не очень хорошая идея использовать его, но я хотел бы понять, если / почему это известный нет-нет. Здесь есть некоторая двусмысленность, которую я не вижу?

...