Domanda

Qualcuno può spiegare questo a me? Ho capito attraverso questo esercitazione che questo è noto come un tavolo. Venendo da un C / C ++ sfondo, qualcuno può spiegare come funziona questo (sto cercando di capire un codice Lua esistente)? ??

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

  },
}

E 'una tabella di configurazione, costituito da un tavolo dispositivo, ma poi c'è un tavolo KEYCARD? Quali sono C56 e ELTRA chiamato Lua? Sono loro campi?

È stato utile?

Soluzione

Un tavolo in Lua è solo una mappa non tipizzato, come oggetti JavaScript o dizionari Python. Quello valore collegate tabella (come "dispositivi" o 6) con un altro valore (come "/ dev / ttyS2"). Il valore potrebbe essere un'altra tabella. Le tabelle vengono utilizzati per creare oggetti, mappe e gli array.

Nel tuo esempio, il config riferimenti alle variabili di un tavolo. Tale tabella ha un elemento, "devices", il cui valore è un'altra tabella. Questo tavolo ha 5 elementi. Quattro di questi elementi ( "C56", "ELTRA", "MICORE", e "HID") hanno stringhe come i loro valori. Il quinto elemento ( "KEYCARD") ha un tavolo come il suo valore. Questo tabella ha due elementi (6, 7) i cui valori sono altre tabelle (ciascuno dei due elementi).

Altri suggerimenti

Hai un tavolo di configurazione due sottotabelle all'interno di esso, dispositivi e Keycard, che è una sottotabella dei dispositivi. E 'stato un po' che ho usato Lua, ma per l'accesso, ad esempio ELTRA, devi digitare Config.devices.ELTRA e di accedere al 7 keycard si digita Config.devices.KEYCARD [7] Per arrivare alla velocità della la tessera magnetica, si potrebbe fare Velocità = Config.devices.KEYCARD [7] .speed

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top