Question

Quelqu'un peut-il me l'expliquer? Je l'ai pensé à elle à travers cette tutoriel que ceci est connu comme une table. Issu d'une C fond / C ++, quelqu'un peut-il expliquer comment cela fonctionne (je suis en train de comprendre un code Lua existant)?

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

  },
}

est-il une table de configuration, composée d'une table de dispositif mais il y a une table KEYCARD? Que sont les C56 et ELTRA appelé Lua? Sont-ils champs?

Était-ce utile?

La solution

Une table Lua est juste une carte typées, comme des objets Javascript ou dictionnaires Python. La table associe une valeur (comme « dispositifs » ou 6) avec une autre valeur (par exemple « / dev / ttyS2 »). La valeur pourrait être une autre table. Les tableaux sont utilisés pour créer des objets, des cartes et des tableaux.

Dans votre exemple, config références variables d'une table. Cette table a un élément, « dispositifs », dont la valeur est une autre table. Cette table a 5 éléments. Quatre de ces éléments ( « C56 », « ELTRA », « MICORE » et « HID ») ont des chaînes que leurs valeurs. Le cinquième élément ( « KEYCARD ») dispose d'une table en tant que sa valeur. Ce table comporte deux éléments (6, 7) dont les valeurs sont d'autres tables (chacun de deux éléments).

Autres conseils

Vous avez une table de configuration deux sous-tables à l'intérieur, des dispositifs et Keycard, qui est une sous-table de dispositifs. Cela a été un moment que je Lua, mais d'accès, par exemple ELTRA, vous taperiez Config.devices.ELTRA et d'accéder à la 7 keycard vous tapez Config.devices.KEYCARD [7] Pour obtenir à la vitesse de la carte magnétique, vous pouvez faire vitesse = Config.devices.KEYCARD [7] .speed

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top