معامل الطول '#'
جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 60 من 90.
ستحتاج كثيرًا إلى معرفة عدد العناصر التي تحتوي عليها قائمة. توفر Lua طريقة بسيطة ومريحة لمعرفة ذلك باستخدام عامل الطول #.
يُوضَع عامل الطول مباشرةً قبل متغير جدول، ويُرجع عدد العناصر في جدول على نمط القائمة، أي جدول تقع قيمه في المواضع 1 و2 و3 وهكذا:
local players = {"Alice", "Bob", "Charlie"}
print(#players) -- يطبع: 3الناتج هو موضع العنصر الأخير، عند العد بدءًا من الفهرس 1. إذا كانت القائمة تحتوي على فجوة (قيمة nil بين قيمتين)، فلن يكون الناتج موثوقًا، ولا تُحتسب المفاتيح التي ليست أرقامًا، مثل name = "Ana"، أبدًا. وهذا مفيد بشكل خاص عندما تحتاج إلى معرفة حجم قائمة لاستخدامه في الحلقات أو الشروط أو لعرض المعلومات للمستخدمين.
local scores = {100, 85, 92, 78, 95}
local totalPlayers = #scores
print("Number of players:", totalPlayers) -- المخرجات: Number of players: 5التحدي
سهلأنشئ نظامًا لإدارة قائمة أعضاء النقابة يتتبع عدد الأعضاء النشطين. أولًا، أنشئ جدولًا باسم guildMembers يحتوي على خمس قيم نصية بالضبط: "Warrior"، و"Mage"، و"Archer"، و"Healer"، و"Rogue". بعد إنشاء الجدول، استخدم معامل الطول # لتحديد عدد أعضاء النقابة واطبع هذا العدد.
جرّب بنفسك
-- TODO: أنشئ جدول guildMembers بالقيم المحددة
-- TODO: استخدم معامل الطول لحساب عدد الأعضاء
-- TODO: اطبع العدديتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات 2: العمليات العلائقية والمنطقية
معاملات التساويالمعاملات العلائقيةالمعامل 'and'المعامل 'or'المعامل 'not'التقييم قصير الدائرةقيم Truthy و Falsyمراجعة - المنطق البسيط10الجداول الجزء 1: نمط القائمة
ما هو الجدول؟إنشاء جدولالوصول إلى العناصر عبر الفهرستعديل العناصر عبر الفهرسمعامل الطول '#'table.insert()table.remove()ملخص - إدارة أعضاء الفريق13مشروع: متجر جرعات بسيط
إعداد المشروعإضافة جرعة2المتغيرات وأنواع البيانات
ما هو المتغير؟الأرقامالسلاسل النصيةالقيم المنطقيةالقيمة 'nil'الدالة type()قواعد التسميةمراجعة - ملف الشخصية5الإخراج الأساسي
طباعة القيم الحرفيةطباعة المتغيراتطباعة قيم متعددةدمج النصوص والمتغيراتدالة tostring()الإدخال (Input)التحويل (Cast)مراجعة - تقرير الحالةمراجعة - حتى 1208أساسيات معالجة النصوص
string.len()string.upper و string.lowerstring.sub()string.rep()string.find()مراجعة - تنسيق اسم المستخدم3المعاملات 1: العمليات الحسابية والدمج
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسدمج النصوصأولوية المعاملاتملخص - حسابات بسيطة6مشروع: عرض إحصائيات الشخصية
رسالة ترحيبتعريف إحصائيات الشخصية9أساسيات الدوال
تعريف دالةاستدعاء دالةدوال مع معاملاتدوال بمعاملات متعددةجملة 'return'مراجعة - حاسبة المساحة12أساسيات الحلقات التكرارية
حلقة whileحلقة repeat-untilحلقة for الرقميةحلقة for مع خطوةجملة 'break'مراجعة - العد التنازليتدرّب بنفسك: مترجم Lua عبر الإنترنت