【问题标题】:lua table constructor with keys containing spaces带有包含空格的键的 lua 表构造函数
【发布时间】:2022-01-17 03:52:03
【问题描述】:

我知道我可以像这样构造表格:

local t= {
    first = "value1",
    second = "value2"
}

现在我可以使用包含空格的键,例如t["some key"] = "some value" 但是有没有办法用包含空格的键来构造像上面这样的表? 我尝试了一些东西,但我只是犯了错误

【问题讨论】:

    标签: lua


    【解决方案1】:

    您可以通过将任何表达式放在括号中来将其声明为表构造函数中的键:

    local t = {
      ["some key"] = "some value",
      [234567 + 2] = "other value",
    }
    

    【讨论】:

      【解决方案2】:
      local t= {
          first = "value1",
          second = "value2"
      }
      

      是语法糖

      local t= {
          ["first"] = "value1",
          ["second"] = "value2"
      }
      

      这种方便的语法仅适用于名称。 Lua 名称只能由字母、数字和下划线组成,并且不能以数字开头。

      由于有效的 Lua 标识符可能不包含空格,因此您不能使用语法糖。因此,唯一的方法是使用完整的语法

      local t = {["hello world"] = 1}
      

      这也适用于索引该表字段。所以唯一的办法就是t["hello world"]

      【讨论】:

        猜你喜欢
        • 2010-10-05
        • 1970-01-01
        • 2015-11-05
        • 1970-01-01
        • 1970-01-01
        • 2022-01-22
        • 2011-10-05
        • 1970-01-01
        • 2013-02-17
        相关资源
        最近更新 更多