التحويل (Cast)
جزء من قسم Fundamentals في رحلة Lua على Coddy — الدرس 32 من 90.
لتحويل المدخلات إلى نوع مختلف، نحتاج إلى إجراء عملية التحويل (cast).
لتحويل سلسلة نصية إلى رقم، سنكتب:
var = io.read()
var = tonumber(var)أو في سطر واحد،
var = tonumber(io.read())إذا كان المدخل رقماً، أي 5، 4، 54 فإن var سيحتوي على رقم. إذا كان المدخل يحتوي على رقم غير صالح: 5ab، bb، akt، إلخ، فإن tonumber() ستعيد nil.
إليك جدول يوضح كيفية التحويل إلى أنواع مختلفة:
| التحويل | الشرح |
| tonumber() | التحويل إلى رقم |
| tostring() | التحويل إلى سلسلة نصية |
من المهم استخدام النوع الصحيح لأنه يمكن أن يؤثر على المخرجات.
سيؤدي دمج سلسلتين نصيتين إلى:
"5" .. "5" = "55"
جمع رقمين سينتج عنه:
5 + 5 = 10
التحدي
مبتدئفي هذا التحدي، ستعمل مع مدخلات متعددة وتجري عمليات حسابية.
كيفية استقبال مدخلات متعددة:
var1 = io.read() -- المدخل الأول
var2 = io.read() -- المدخل الثانيمهمتك:
- قراءة الرقم الأول من المدخلات وتخزينه في متغير
- قراءة الرقم الثاني من المدخلات وتخزينه في متغير آخر
- تحويل كلا المتغيرين إلى نوع number (لإجراء الحسابات الرقمية)
- حساب حاصل ضرب هذين الرقمين
- طباعة النتيجة
مثال:
إذا كانت المدخلات هي 2 و 4.5، يجب أن يخرج برنامجك 9.0
تذكر: تحتوي كل حالة اختبار على مدخلين بالضبط، أحدهما تلو الآخر.
ورقة مرجعية
التحويل (Casting) في Lua:
-- تحويل السلسلة النصية إلى رقم
var = tonumber(io.read())
-- تحويل إلى سلسلة نصية
var = tostring(io.read())
-- تعيد tonumber القيمة nil للمدخلات غير الصالحة
var = tonumber("abc") -- var هي nilهام: دمج السلاسل النصية يربطها ببعضها، بينما جمع الأرقام يقوم بعملية حسابية:
"5" .. "5" = "55" -- دمج السلاسل النصية
5 + 5 = 10 -- الجمع الرقميمدخلات متعددة:
var1 = io.read()
var2 = io.read()جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
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'مراجعة - العد التنازلي