Menu
CoddyTech

تحديد أنواع الدوال المجهولة

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

في Lua، الدوال قيم: لقد خزّنتها في متغيرات ومرّرتها: local f = function(x) return x * 2 end. تأخذ الدوال المجهولة (تعبيرات الدوال) تعليقات الأنواع تمامًا مثل الدوال المسماة:

local double = function(x: number): number
    return x * 2
end

local shout = function(text: string): string
    return string.upper(text) .. "!"
end

تُكتب المعاملات بصيغة name: type داخل الأقواس، ويتبع نوع الإرجاع القوسَ الختامي: والفرق الوحيد عن الدالة المسماة هو أن الكلمة المفتاحية function لا يتبعها اسم، وأن التعبير بأكمله يُسنَد إلى متغير.

إذا كنت قد اطلعت على JavaScript أو TypeScript، فلاحظ أن Luau لا تحتوي على دوال سهمية. لا توجد صياغة =>. تُكتب كل تعبيرات الدوال بصيغة function ... end، سواء كانت طويلة أم قصيرة.

بعد إسنادها، تستدعيها عبر المتغير مثل أي دالة: تُرجع double(21) القيمة 42، ويتحقق المدقّق من كل استدعاء بالاستناد إلى التعليقات التوضيحية التي كتبتها.

challenge icon

التحدي

سهل

خزّن الدوال ذات الأنواع المحددة في متغيرات محلية.

  1. أعِد كتابة subtract على النحو التالي: local subtract = function(a: number, b: number): number، مع الإبقاء على جسمها.
  2. أضف local isPositive = function(num: number): boolean بحيث تُرجع num > 0.
  3. اطبع subtract(10, 3) وisPositive(-5).

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

جرّب بنفسك

-- أعد كتابة هذا على هيئة دالة مجهولة مخزّنة في متغير محلي
function subtract(a: number, b: number): number
    return a - b
end

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

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