TOML-汤姆显而易见的最小语言

2020-09-11 21:38:46

TOML的目标是成为一种最小的配置文件格式,由于明显的语义,它易于阅读。TOML被设计成明确地映射到哈希表。TOML应该很容易解析成各种语言的数据结构。

#这是一个TOML文档标题=";TOML示例";[所有者]名称=";汤姆·普雷斯顿-沃纳";道布=1979-05-27T07:32:00-08:00[数据库]ENABLED=TRUEPORTS=[8001,8002]DATA=[[";Delta";,";PHI";],[3.14]TEMP_TARGETS={cpu=79.5,case。10.0.0.1";Role=";前端";[servers.beta]IP=";10.0.0.2";Role=";后端";

TOML已经实现了当今最流行的编程语言:C、C#、C++、Clojure、Dart、Elixir、Erlang、Go、Haskell、Java、Javascript、Lua、Objective-C、Perl、PHP、Python、Ruby、Swift、Scala……。还有更多。

有四种表示字符串的方式:基本、多行基本、文字和多行文字。基本字符串用引号引起来:

多行基本字符串多行基本字符串两边各用三个引号括起来,并允许换行。包括一个以反斜杠结尾行,以自动修剪任何非空格字符之前的空格:

玫瑰是红色的,紫罗兰是蓝色的,敏捷的棕色狐狸跳过懒狗。

敏捷的棕色狐狸跳过懒狗(一句话,不换行)。

文字字符串用单引号引起来。不执行任何转义,因此您看到的是您所得到的:

由于没有转义,因此无法在用单引号括起来的文字字符串中写入单引号。这就是多行文字字符串的用武之地:

Re=';';\d{2}个应用程序是许多行=##39;';';行=##39;';';第一个换行符被原始字符串包围。所有其他空格都将保留。';';';

支持整数、浮点数、无穷大甚至NaN。您可以使用科学记数法,甚至可以使用数千个分隔符。

#Integrgersint1=+99int2=42int3=0int4=-17#前缀为`0x`he1=0xDEADBEEFhe2=0xDeadbeefhe3=0xDead_Bean#的十六进制前缀为`0o`oct1=0o01234567oct2=0o755#前缀为`0b`bin1=0b11010110#fractionalfloat1=+1.0的二进制。

#Offset datetimeodt1=1979-05-27T07:32:00Zodt2=1979-05-27T00:32:00-07:00odt3=1979-05-27T00:32:00.999999-07:00#local datetimeldt1=1979-05-27t07:32:00ldt2=1979-05-27T00:32:00.999999#local dateld1=1979-05-27#local timelt1=07:32:00lt