Это кажется законным Lua синтаксис:Lua синтаксис таблицы
example = { ["dummy"] = "foobar"}
Почему вы использовали бы выше, а не просто:
example = { dummy = "foobar"}
Они появляются функционально то же самое ..
Это кажется законным Lua синтаксис:Lua синтаксис таблицы
example = { ["dummy"] = "foobar"}
Почему вы использовали бы выше, а не просто:
example = { dummy = "foobar"}
Они появляются функционально то же самое ..
Поскольку имена полей не обязательно должны быть идентификаторами: они могут быть любой строкой, включая строки, имеющие пробелы, для ins стояние.
Второй оператор действителен синтаксисом Lua и очень удобен для имен полей, которые являются идентификаторами.
Табличные ключи не обязательно должны быть строками: они могут фактически быть любым значением (кроме нуля), а синтаксис [expr]=expr
для записей таблицы позволяет использовать значения произвольных выражений в качестве ключей.
Могут ли они быть * любыми * значениями, кроме nil? Я уверен, что есть еще один. – warspyking
кроме nil и nan. –
Удивительно, что я не могу написать, например, 't = {in = 0, out = 1, err = 2}' –
Удивительно, что вы * не можете * написать? @egorskriptunoff это выглядит для меня – warspyking
@warspyking 'in' является ключевым словом, поэтому его нельзя использовать в качестве имени поля таблицы без скобок. –