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テーブルがありますか? C56 と ELTRA は Lua で何と呼ばれていますか? それらは畑ですか?

4

2 に答える 2

8

Lua のテーブルは、Javascript オブジェクトや Python 辞書のような単なる型指定のないマップです。このテーブルは、ある値 (「devices」や 6 など) を別の値 (「/dev/ttyS2」など) に関連付けます。値は別のテーブルである可能性があります。テーブルは、オブジェクト、マップ、および配列を作成するために使用されます。

あなたの例では、構成変数はテーブルを参照しています。そのテーブルには「デバイス」という 1 つの要素があり、その値は別のテーブルです。そのテーブルには 5 つの要素があります。これらの要素のうち 4 つ ("C56"、"ELTRA"、"MICORE"、および "HID") は、値として文字列を持ちます。5 番目の要素 ("KEYCARD") には、値としてテーブルがあります。 そのテーブルには 2 つの要素 (6、7) があり、その値は他のテーブル (2 つの要素のそれぞれ) です。

于 2010-06-29T18:19:46.413 に答える
3

config テーブルには、devices と、デバイスのサブテーブルである Keycard という 2 つのサブテーブルがあります。Lua を使用してからしばらく経ちましたが、たとえば ELTRA にアクセスするには Config.devices.ELTRA と入力し、7 キーカードにアクセスするには Config.devices.KEYCARD[7] と入力します。 、あなたは speed = Config.devices.KEYCARD[7].speed を行うことができます

于 2010-06-29T18:41:22.233 に答える