string.sub()
جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 46 من 90.
تتيح لك الدالة string.sub() استخراج جزء محدد من سلسلة نصية، يُسمى سلسلة فرعية. وهذا مفيد عندما تحتاج إلى جزء فقط من سلسلة نصية أطول، مثل الحصول على الأحرف الأولى من اسم أو استخراج مقطع محدد من النص.
إليك الصياغة الأساسية:
string.sub(your_string, start_position, end_position)تأخذ الدالة ثلاث وسيطات: السلسلة التي تريد الاستخراج منها، وموضع البداية، وموضع النهاية. تذكّر أن مواضع السلاسل في Lua تبدأ من 1، وليس من 0.
إليك مثالًا بسيطًا:
local word = "programming"
local first_three = string.sub(word, 1, 3)
print(first_three) -- المخرجات: proفي هذا المثال، تستخرج string.sub() الأحرف من الموضع 1 إلى الموضع 3، فتعطينا "pro". تظل السلسلة الأصلية دون تغيير - إذ تُرجع الدالة سلسلة جديدة تحتوي على الجزء المستخرج فقط.
التحدي
سهلأنشئ أداة لاستخراج اسم شخصية في لعبة، تستخرج الجزء الأول من الاسم الكامل لشخصية اللاعب. عرّف متغيرًا اسمه characterName وأسند إليه القيمة "Shadowblade the Mighty". استخدم الدالة string.sub() لاستخراج أول 11 حرفًا من اسم الشخصية، وخزّن الناتج في متغير اسمه shortName. اطبع الاسم المختصر المستخرج.
جرّب بنفسك
-- عرّف متغير اسم الشخصية
local characterName = "Shadowblade the Mighty"
-- TODO: اكتب الكود هنا لاستخراج أول 11 حرفًا باستخدام string.sub()
-- اطبع النتيجة
print(shortName)يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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 عبر الإنترنت