Lua新手指南 - Table操作

有人可以解释一下吗?通过这个教程,我已经弄清楚这被称为表格。作为C/C++背景,有人可以解释一下它是如何工作的吗?(我正在尝试理解一些现有的Lua代码)

config = {
  devices = {
    C56    = "/dev/ttyS2",
    ELTRA  = "/dev/ttyS3",
--  MICORE = "/dev/ttyS4",
    HID    = "/dev/ttyS1",

    KEYCARD = {
  --  [6] = { tty="/dev/ttyS1", speed=9600 },
      [7] = { tty="/dev/ttyS4", speed=9600 },
    },

  },
}

这是一个配置表,包含一个设备表,但是有一个KEYCARD表?在Lua中,C56和ELTRA被称为什么?它们是字段吗?

原文链接 https://stackoverflow.com/questions/3143475

点赞
stackoverflow用户306405
stackoverflow用户306405

Lua 中的表格只是一个未类型化的映射,类似于 JavaScript 对象或 Python 字典。表格将一个值(例如“devices”或6)与另一个值(例如“/dev/ttyS2”)关联。该值也可以是另一个表格。表格用于创建对象、映射和数组。

在您的示例中,config 变量引用了一个表格。该表格有一个元素“devices”,其值是另一个表格。该表格有 5 个元素。其中四个元素(“C56”、“ELTRA”、“MICORE”和“HID”)具有字符串作为其值。第五个元素(“KEYCARD”)的值为一个表格。该表格有两个元素(6、7),其值是其他表格(每个表格有两个元素)。

2010-06-29 18:19:46
stackoverflow用户378340
stackoverflow用户378340

你有一个配置表格,其中包含两个子表格,devices和Keycard,Keycard是devices的子表格。我有一段时间没用Lua了,但是要访问例如ELTRA,你需要键入Config.devices.ELTRA,要访问第7张Keycard,你需要键入Config.devices.KEYCARD[7]。要获取Keycard的速度,你可以这样做: speed = Config.devices.KEYCARD[7].speed

2010-06-29 18:41:22