Frage

Kann jemand erklären mir dies? Ich habe es durch diese heraus Tutorial , dass diese als Tabelle bekannt ist. Ich stamme aus einer C / C ++ Hintergrund, kann jemand erklären, wie das funktioniert (Ich versuche, einige bestehende Lua Code zu verstehen)?

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 },
    },

  },
}

Ist es eine Konfigurationstabelle, bestehend aus einem Gerätetabelle, aber dann gibt es einen KEYCARD Tisch? Was C56 und ELTRA in Lua genannt? Sind sie Felder?

War es hilfreich?

Lösung

Eine Tabelle in Lua ist nur eine nicht typisierte Karte, wie Javascript-Objekte oder Python Wörterbücher. Der Tabelle assoziiert einen Wert (wie „Geräte“ oder 6) mit einem anderen Wert (wie „/ dev / ttyS2“). Der Wert könnte eine andere Tabelle sein. Tabellen werden verwendet, um Objekte, Karten und Arrays zu erstellen.

In Ihrem Beispiel der Konfiguration Variablenreferenzen eine Tabelle. Diese Tabelle ist ein Element, „Geräte“, dessen Wert eine andere Tabelle. Diese Tabelle hat 5 Elemente. Vier dieser Elemente ( "C56", "ELTRA", "MICORE" und "HID") haben Strings als ihre Werte. Das fünfte Element ( „KEYCARD“) eine Tabelle als sein Wert. Das Tabelle hat zwei Elemente (6, 7), deren Werte andere Tabellen (jeweils aus zwei Elementen).

Andere Tipps

Sie haben eine Config-Tabelle zwei Untertabellen in ihm, Geräte und Keycard, die eine untergeordnete Tabelle von Geräten ist. Es ist schon eine Weile her, seit ich verwendet Lua, aber den Zugriff, zum Beispiel ELTRA, würden Sie Config.devices.ELTRA geben und die 7 Keycard zugreifen Sie Config.devices.KEYCARD Typ [7] Um bei der Geschwindigkeit der Key-Card zu bekommen, könnten Sie tun Geschwindigkeit = Config.devices.KEYCARD [7] .speed

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top