Menu
CoddyTech

لماذا نستخدم Luau؟

جزء من قسم مقدمة إلى Luau في رحلة Lua على Coddy. الدرس 2 من 80.

يوفّر نظام الأنواع في Luau ثلاث فوائد رئيسية تجعل التطوير أكثر أمانًا وكفاءة.

اكتشاف الأخطاء مبكرًا: يحلّل مدقّق الأنواع الشيفرة أثناء تحريرها، قبل تشغيلها. تأمّل خطأ شائعًا في Lua: تمرير nil حيث يُتوقّع رقم:

-- Lua: لا شيء يحذّرك من هذا
local function calculateTotal(price, tax)
    return price + tax
end

print(calculateTotal(nil, 0.1))
-- ✗ خطأ وقت التشغيل: محاولة إجراء عملية حسابية على nil

في Lua العادية، لا يحدث هذا التعطّل إلا عند تنفيذ الاستدعاء الخاطئ أخيرًا، وربما أمام المستخدمين. والأسوأ أن Lua تخفي الخطأ أحيانًا تمامًا: تحوّل "50" + 0.1 السلسلة النصية بصمت، وتُعيد 50.1… إلى أن يأتي يوم لا تكون فيه السلسلة رقمية. مع تعريفات الأنواع في Luau، يُكتشف الخطأ فورًا:

local function calculateTotal(price: number, tax: number)
    return price + tax
end

calculateTotal(nil, 0.1) -- ✗ خطأ في النوع أثناء التحرير: nil ليست عددًا

وضوح أفضل للشيفرة: تؤدي تعريفات الأنواع دور التوثيق. تخبرك price: number أنت وزملاءك بدقة بما تتوقعه الدالة: بلا تخمين أو بحث في تفاصيل التنفيذ.

أدوات تطوير محسّنة: لأن المحرر يعرف نوع كل متغير، تحصل على إكمال تلقائي دقيق، وإعادة هيكلة أكثر أمانًا، وتنقّل أذكى. اكتب نقطة بعد قيمة محددة النوع، وسيعرض المحرر قائمة دقيقة بما هو متاح.

challenge icon

التحدي

سهل

حدّد النوع number لكلتا وسيطتَي calculateTotal.

  1. في السطر الأول، غيّر (price, tax) إلى (price: number, tax: number).
  2. أبقِ الاستدعاء calculateTotal(80, 8) في الأسفل.

اضغط على تشغيل الكود: يُظهر الناتج 88.

جرّب بنفسك

local function calculateTotal(price, tax)
    return price + tax
end

print(calculateTotal(80, 8))

جميع دروس مقدمة إلى Luau

تدرّب بنفسك: مترجم Luau عبر الإنترنت