مراجعة - رياضيات المتجهات
جزء من قسم Logic & Flow في رحلة Lua على Coddy — الدرس 54 من 54.
التحدي
سهلاكتب دالة createVector تأخذ إحداثيات x و y وتعيد سلسلة نصية توضح عمليات المتجهات.
قم بإنشاء منشئ متجهات (vector constructor) يبني جدولاً يحتوي على حقول x و y، ثم يربط جدولاً وظيفياً (metatable) ينفذ __add لجمع المتجهات و __tostring لتمثيل السلسلة النصية المخصص. يجب أن تقوم الدالة بإنشاء متجهين باستخدام الإحداثيات المقدمة، وجمعهما معاً، وإرجاع التمثيل النصي للنتيجة.
المنطق:
- إنشاء دالة منشئ تبني جدول متجه مع حقول x و y
- تعريف metatable مع
__addيقوم بجمع مكونات x و y المقابلة - تعريف
__tostringلإرجاع التنسيقVector(x, y) - ربط الـ metatable بالمتجه باستخدام
setmetatable() - إنشاء المتجه الأول بالإحداثيات (x, y)
- إنشاء المتجه الثاني بالإحداثيات (x, y)
- جمع المتجهين معاً باستخدام عامل التشغيل
+ - إرجاع التمثيل النصي للمتجه الناتج باستخدام
tostring()
المعاملات:
x(number): إحداثي x لكلا المتجهينy(number): إحداثي y لكلا المتجهين
المخرجات: التمثيل النصي لمجموع المتجهين (string). التنسيق: Vector(6, 8) للمدخلات (3, 4)
جرّب بنفسك
function createVector(x, y)
-- اكتب الكود هنا
end
جميع دروس Logic & Flow
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائج3مفاهيم الدوال المتقدمة
إرجاع قيم متعددةالدوال متغيرة الوسائط (...)الدوال كقيم من الدرجة الأولىالدوال المجهولةما هو الـ Closure؟ملخص - معالج أحداث بسيط9Coroutines للمبتدئين
ما هو الـ Coroutine؟إنشاء واستئناف الـ coroutineالإيقاف المؤقت باستخدام coroutine.yield()resume و yieldالتحقق من حالة الـ Coroutineمراجعة - مولد الأرقاممراجعة - رياضيات المتجهات