سؤال

هل يمكن لأحد أن يشرح هذا لي؟ لقد اكتشفت ذلك من خلال هذا الدورة التعليمية أن هذا هو المعروف باسم الجدول. قادم من ج/خلفية 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 },
    },

  },
}

هل هو جدول تكوين ، يتكون من جدول الجهاز ولكن بعد ذلك هناك جدول بطاقة المفاتيح؟ ماذا يسمى C56 و Eltra في لوا؟ هل هم حقول؟

هل كانت مفيدة؟

المحلول

جدول في لوا هو مجرد خريطة غير معدلة ، مثل كائنات جافا سكريبت أو قواميس بيثون. يربط الجدول قيمة واحدة (مثل "الأجهزة" أو 6) بقيمة أخرى (مثل "/dev/ttys2"). يمكن أن تكون القيمة جدولًا آخر. يتم استخدام الجداول لإنشاء كائنات وخرائط ومصفوفات.

في مثالك ، تكوين المراجع المتغيرة جدول. يحتوي هذا الجدول على عنصر واحد ، "الأجهزة" ، التي تكون قيمتها جدولًا آخر. هذا الجدول لديه 5 عناصر. أربعة من هذه العناصر ("C56" ، "Eltra" ، "Micore" ، و "Hid") لها سلاسل كقيمها. العنصر الخامس ("Keycard") له جدول كقيمة. الذي - التي يحتوي الجدول على عنصرين (6 ، 7) قيمهما هي جداول أخرى (كل عنصر من عنصرين).

نصائح أخرى

لديك جدول تكوين اثنين من الأشياء الفرعية داخله ، والأجهزة وبطاقة المفاتيح ، وهو أمر يمكن أن يكون خاضعًا للأجهزة. لقد مر بعض الوقت منذ أن استخدمت LUA ، ولكن للوصول ، على سبيل المثال ELTRA ، يمكنك كتابة config.devices.eltra والوصول إلى بطاقة مفاتيح 7 التي تكتبها config.devices.keycard [7] ، يمكنك القيام بالسرعة = config.devices.keycard [7].

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top