Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
244 lines
5.1 KiB
244 lines
5.1 KiB
################################################################################ |
|
## Comment |
|
|
|
# Speak your mind with the hash symbol. They go from the symbol to the end of |
|
# the line. |
|
|
|
|
|
################################################################################ |
|
## Table |
|
|
|
# Tables (also known as hash tables or dictionaries) are collections of |
|
# key/value pairs. They appear in square brackets on a line by themselves. |
|
|
|
[table] |
|
|
|
key = "value" # Yeah, you can do this. |
|
|
|
# Nested tables are denoted by table names with dots in them. Name your tables |
|
# whatever crap you please, just don't use #, ., [ or ]. |
|
|
|
[table.subtable] |
|
|
|
key = "another value" |
|
|
|
# You don't need to specify all the super-tables if you don't want to. TOML |
|
# knows how to do it for you. |
|
|
|
# [x] you |
|
# [x.y] don't |
|
# [x.y.z] need these |
|
[x.y.z.w] # for this to work |
|
|
|
|
|
################################################################################ |
|
## Inline Table |
|
|
|
# Inline tables provide a more compact syntax for expressing tables. They are |
|
# especially useful for grouped data that can otherwise quickly become verbose. |
|
# Inline tables are enclosed in curly braces `{` and `}`. No newlines are |
|
# allowed between the curly braces unless they are valid within a value. |
|
|
|
[table.inline] |
|
|
|
name = { first = "Tom", last = "Preston-Werner" } |
|
point = { x = 1, y = 2 } |
|
|
|
|
|
################################################################################ |
|
## String |
|
|
|
# There are four ways to express strings: basic, multi-line basic, literal, and |
|
# multi-line literal. All strings must contain only valid UTF-8 characters. |
|
|
|
[string.basic] |
|
|
|
basic = "I'm a string. \"You can quote me\". Name\tJos\u00E9\nLocation\tSF." |
|
|
|
[string.multiline] |
|
|
|
# The following strings are byte-for-byte equivalent: |
|
key1 = "One\nTwo" |
|
key2 = """One\nTwo""" |
|
key3 = """ |
|
One |
|
Two""" |
|
|
|
[string.multiline.continued] |
|
|
|
# The following strings are byte-for-byte equivalent: |
|
key1 = "The quick brown fox jumps over the lazy dog." |
|
|
|
key2 = """ |
|
The quick brown \ |
|
|
|
|
|
fox jumps over \ |
|
the lazy dog.""" |
|
|
|
key3 = """\ |
|
The quick brown \ |
|
fox jumps over \ |
|
the lazy dog.\ |
|
""" |
|
|
|
[string.literal] |
|
|
|
# What you see is what you get. |
|
winpath = 'C:\Users\nodejs\templates' |
|
winpath2 = '\\ServerX\admin$\system32\' |
|
quoted = 'Tom "Dubs" Preston-Werner' |
|
regex = '<\i\c*\s*>' |
|
|
|
|
|
[string.literal.multiline] |
|
|
|
regex2 = '''I [dw]on't need \d{2} apples''' |
|
lines = ''' |
|
The first newline is |
|
trimmed in raw strings. |
|
All other whitespace |
|
is preserved. |
|
''' |
|
|
|
|
|
################################################################################ |
|
## Integer |
|
|
|
# Integers are whole numbers. Positive numbers may be prefixed with a plus sign. |
|
# Negative numbers are prefixed with a minus sign. |
|
|
|
[integer] |
|
|
|
key1 = +99 |
|
key2 = 42 |
|
key3 = 0 |
|
key4 = -17 |
|
|
|
[integer.underscores] |
|
|
|
# For large numbers, you may use underscores to enhance readability. Each |
|
# underscore must be surrounded by at least one digit. |
|
key1 = 1_000 |
|
key2 = 5_349_221 |
|
key3 = 1_2_3_4_5 # valid but inadvisable |
|
|
|
|
|
################################################################################ |
|
## Float |
|
|
|
# A float consists of an integer part (which may be prefixed with a plus or |
|
# minus sign) followed by a fractional part and/or an exponent part. |
|
|
|
[float.fractional] |
|
|
|
key1 = +1.0 |
|
key2 = 3.1415 |
|
key3 = -0.01 |
|
|
|
[float.exponent] |
|
|
|
key1 = 5e+22 |
|
key2 = 1e6 |
|
key3 = -2E-2 |
|
|
|
[float.both] |
|
|
|
key = 6.626e-34 |
|
|
|
[float.underscores] |
|
|
|
key1 = 9_224_617.445_991_228_313 |
|
key2 = 1e1_00 |
|
|
|
|
|
################################################################################ |
|
## Boolean |
|
|
|
# Booleans are just the tokens you're used to. Always lowercase. |
|
|
|
[boolean] |
|
|
|
True = true |
|
False = false |
|
|
|
|
|
################################################################################ |
|
## Datetime |
|
|
|
# Datetimes are RFC 3339 dates. |
|
|
|
[datetime] |
|
|
|
key1 = 1979-05-27T07:32:00Z |
|
key2 = 1979-05-27T00:32:00-07:00 |
|
key3 = 1979-05-27T00:32:00.999999-07:00 |
|
|
|
|
|
################################################################################ |
|
## Array |
|
|
|
# Arrays are square brackets with other primitives inside. Whitespace is |
|
# ignored. Elements are separated by commas. Data types may not be mixed. |
|
|
|
[array] |
|
|
|
key1 = [ 1, 2, 3 ] |
|
key2 = [ "red", "yellow", "green" ] |
|
key3 = [ [ 1, 2 ], [3, 4, 5] ] |
|
#key4 = [ [ 1, 2 ], ["a", "b", "c"] ] # this is ok |
|
|
|
# Arrays can also be multiline. So in addition to ignoring whitespace, arrays |
|
# also ignore newlines between the brackets. Terminating commas are ok before |
|
# the closing bracket. |
|
|
|
key5 = [ |
|
1, 2, 3 |
|
] |
|
key6 = [ |
|
1, |
|
2, # this is ok |
|
] |
|
|
|
|
|
################################################################################ |
|
## Array of Tables |
|
|
|
# These can be expressed by using a table name in double brackets. Each table |
|
# with the same double bracketed name will be an element in the array. The |
|
# tables are inserted in the order encountered. |
|
|
|
[[products]] |
|
|
|
name = "Hammer" |
|
sku = 738594937 |
|
|
|
[[products]] |
|
|
|
[[products]] |
|
|
|
name = "Nail" |
|
sku = 284758393 |
|
color = "gray" |
|
|
|
|
|
# You can create nested arrays of tables as well. |
|
|
|
[[fruit]] |
|
name = "apple" |
|
|
|
[fruit.physical] |
|
color = "red" |
|
shape = "round" |
|
|
|
[[fruit.variety]] |
|
name = "red delicious" |
|
|
|
[[fruit.variety]] |
|
name = "granny smith" |
|
|
|
[[fruit]] |
|
name = "banana" |
|
|
|
[[fruit.variety]] |
|
name = "plantain"
|
|
|