Lua新手 - 表操作

时间:2010-06-29 18:07:18

标签: lua lua-table

有人可以向我解释一下吗?我已经通过这个tutorial想出了这个被称为表格。来自 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?他们是田地吗?

2 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:3)

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