2

谁可以给我解释一下这个?我已经通过本教程弄清楚这就是所谓的表格。来自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 叫什么?它们是领域吗?

4

2 回答 2

8

Lua 中的表只是一个无类型的映射,就像 Javascript 对象或 Python 字典一样。该表将一个值(如“设备”或 6)与另一个值(如“/dev/ttyS2”)相关联。该值可以是另一个表。表用于创建对象、映射和数组。

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

于 2010-06-29T18:19:46.413 回答
3

您有一个配置表,其中包含两个子表,设备和 Keycard,这是设备的子表。自从我使用 Lua 以来已经有一段时间了,但是要访问例如 ELTRA,您需要输入 Config.devices.ELTRA 并访问 7 钥匙卡,您需要输入 Config.devices.KEYCARD[7] 以达到钥匙卡的速度,你可以做 speed = Config.devices.KEYCARD[7].speed

于 2010-06-29T18:41:22.233 回答