Roblox Guidebookقاعدة المعرفة
العربية ⌄

التطوير / ROBLOX

جداول Luau: قائمة نقاط المسار والبحث بالمفتاح

يمكن لجدول وصف الترتيب ولآخر حفظ معلومات المحطات بأسماء. في مشي تعليمي تخيلي بالفوانيس نميز الفهرس والمفتاح والقيمة، ونقرأ سجلاً، ونفحص المواقع بعد إدراج عنصر أو إزالته.

آخر تحديث:

افصل سؤالين #

يتضمن المسار بداية ونهاية جسر ونقطة مشاهدة. ما المحطة التالية سؤال، وأي وصف يخص المحطة سؤال آخر. يرتبط الترتيب والمعلومات، لكن وضعهما في مجموعتين واضحتين يسهل فهم دورهما.

استخدم routeStart وbridgeEnd وlookout كمعرفات مرتبة وكالمفاتيح نفسها للمعلومات. هذه بيانات تمرين أصلية، لا كائنات لعبة موجودة. تغيير الترتيب لا يجعل رقم الموقع هوية دائمة للمحطة.

اقرأ أول عنصر #

تنشئ الأقواس المعقوفة جدولاً. يضع المثال الأول ثلاثة قيم متتالية لتكوين مصفوفة بسيطة. يقرأ route[1] الموقع الأول وroute[3] الثالث. يبدأ فهرس هذه القوائم في Luau من واحد، وليس الصفر.

قبل التشغيل توقع سطري routeStart وlookout. قارن القيم لا مجرد ظهور رسالة. هذا تمرين بيانات في الذاكرة: لا يحرك شخصية أو ينشئ كائناً في Workspace أو يحفظ المسار بين الجلسات.

ترتيب محطات المسارافتح الصورة بالحجم الكامل ↗
مخطط بيانات أصلي: الأرقام مواقع والتسميات معرفات.
local route = {"routeStart", "bridgeEnd", "lookout"}
print(route[1])
print(route[3])

ابحث بالمفتاح عن المعلومات #

يضع المثال الثاني سجلات مسماة في stations. يختار stations["bridgeEnd"] المفتاح الدقيق، لا مكان السجل في نص الجدول. داخل السجل title تسمية للمخرجات التعليمية، وenabled علامة منطقية مستقلة.

يستخدم الربط معرفاً مطابقاً: اقرأ ID من القائمة وابحث عن stations[ID]. أبق المصفوفة البسيطة متتابعة. لا تحول ترتيب اجتياز القاموس إلى مسار؛ القائمة المنفصلة تحدد التتابع والمفتاح يحدد السجل.

فرق بين الغياب وfalse #

تعطي القيمة الغائبة nil. أما enabled=false فيحفظ قيمة منطقية موجودة. قد تجد المحطة رغم تعطيل العلامة. ينبغي أن ينتج غياب السجل ووجوده مع تعطيل ملاحظتين مختلفتين.

أكد وجود السجل قبل قراءة حقوله. لمعرف مجهول احتفظ برسالة واضحة تتضمنه وأوقف خطوة التمرين المتعلقة به. استبداله بأول محطة يجعل خطأ البيانات يبدو بحثاً ناجحاً ويخفي المشكلة.

البحث عن المعلومات بالمفتاحافتح الصورة بالحجم الكامل ↗
مخطط بحث أصلي؛ لا يعرض حركة شخصية.
local stations = {
    routeStart = {title = "Start", enabled = true},
    bridgeEnd = {title = "Bridge", enabled = false},
    lookout = {title = "Lookout", enabled = true},
}
local station = stations["bridgeEnd"]
if station == nil then
    print("Missing station")
else
    print(station.title, station.enabled)
end

أدرج محطة وسطية #

يضيف table.insert في المثال الثالث restSpot في الموقع الثاني. تنتقل bridgeEnd من الثاني إلى الثالث، وتتحرك lookout للخلف أيضاً. قارن الترتيب قبل وبعد. تغير الموقع لا اسم bridgeEnd.

إذا حفظت واجهة مستقبلية الرقم اثنين فقط، فقد يعني محطة مختلفة بعد الإدراج. استخدم ID ثابتاً لتسمية المحطة وفهرساً لوصف الموقع. لا يقرر الجدول كيف يحفظ مشروعك الخطوة المختارة.

أزل العنصر واقرأ المواقع مجدداً #

يزيل table.remove عنصراً من موقع محدد ويحرك العناصر التالية للأمام. يزيل مثالنا restSpot المؤقت من الثاني ويعيد الترتيب الأصلي. أكد bridgeEnd ثانياً وlookout ثالثاً. قراءة موقع قديم دون مراجعة قد تعطي قيمة أخرى.

أبق المصفوفة التعليمية متتابعة. لا تستبدل الإزالة بوضع nil عشوائي في الوسط وتتعامل مع طول مجموعة متفرقة كطول مسار عادي. حدد قواعد النظام قبل ربط المواقع بتقدم اللاعبين.

local route = {"routeStart", "bridgeEnd", "lookout"}
table.insert(route, 2, "restSpot")
print(route[2])
print(route[3])
table.remove(route, 2)
print(route[2])
print(route[3])

افصل البيانات وفعل اللعب #

تصف القائمة الترتيب والسجلات المعلومات. تحريك شخصية أو إظهار تلميح أو منح مكافأة يحتاج منطقاً منفصلاً يستخدم القيم. نجاح print لا يثبت تفاعل كائنات أو شبكة أو حفظاً مستمراً صحيحاً.

أبق معرفات التمرين متطابقة بين الترجمات، وترجم نص اللاعب بشكل مستقل. ترجمة مفتاح تقني في مجموعة واحدة تكسر العلاقة. قارن ID بالسجلات لا بالأسماء الجميلة على الشاشة.

نفذ فحص بيانات صغيراً #

افحص العنصر الأول والمفتاح المعروف والمعرف المجهول وعلامة false والمواقع بعد الإدراج. ترافق الأمثلة فحوص مستقلة للقيم المتوقعة. تخص جداول Luau العادية، لا تشغيل لعبة موجودة في Roblox Studio.

أضف حالة سلبية لمعرف في المسار غائب من stations. اكتشاف عدم التطابق هو النتيجة المفيدة، لا الاستمرار بمحطة أخرى بصمت. سجل ID المشكلة والمجموعة التي تحتاج التصحيح بدلاً من تغيير المسار كله.

تذكر مراجع الجداول #

إسناد جدول إلى متغير آخر لا ينشئ نسخة مستقلة. اسم مثل backupRoute لا يحفظ المحتوى السابق إذا أشار إلى الجدول نفسه. فرق بين المرجع ونسخة مستقلة أعدت بالفعل للتجارب المستقبلية.

تبدأ الأمثلة بمجموعات صغيرة خاصة بها، ولا تقدم طريقة عامة لنسخ إعدادات متداخلة. حدد للمهمة التالية البيانات المتداخلة وما يبقى مشتركاً؛ النسخة السطحية لا تعني استقلال كل مستوى تلقائياً.

الفحصالمتوقع
العنصر الأولالبداية بفهرس 1
مفتاح معروفالسجل المتوقع موجود
مفتاح مجهولاكتشاف ID غائب
الإدراج والإزالةفحص المواقع الجديدة

سلم بنية البيانات #

يتضمن السجل معرفات مرتبة ومعلومات المحطات ومعاني الحقول والتعامل مع مفتاح غائب وتغيرات المواقع المتوقعة. وضح الأمثلة المفحوصة منفصلة والأجزاء غير المرتبطة بكائنات اللعبة. يحصل المطور التالي على اتفاق بيانات، لا وعد بآلية مكتملة.

يشرح المصدر الرسمي جداول Luau؛ المشي والمفاتيح والفحوص أمثلة أصلية. لم تغير الألعاب الحالية. يمكن تطوير المسار والتفاعل والتقدم لاحقاً كعمل مستقل، مع تمييز البيانات والأفعال المنفذة فعلاً.

الحقلما يُسلّم
الترتيبمعرفات متتابعة دون فجوات
المفاتيحالمعرفات ومعاني الحقول
الغيابرد واضح على ID مجهول
العملياتإزاحة المواقع المتوقعة

المصادر الأصلية

Roblox Creator Hub — Tables