التحويل (Cast)
جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 32 من 90.
لتحويل المُدخل إلى نوع مختلف، نستخدم دالة تحويل.
لتحويل سلسلة نصية إلى عدد، نكتب:
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
تحوّل Lua أيضًا السلاسل النصية التي تمثل أعدادًا تلقائيًا في العمليات الحسابية:
"5" + 5تعطي10. يظل التحويل باستخدامtonumber()الخيار الأوضح، كما يتيح لك التحقق من المُدخل، لأنه يعيدnilعندما لا يكون النص عددًا.
التحدي
مبتدئفي هذا التحدي، ستتعامل مع مُدخلات متعددة وتجري عمليات حسابية.
كيفية استقبال مُدخلات متعددة:
var1 = io.read() -- First input
var2 = io.read() -- Second inputمهمتك:
- اقرأ العدد الأول من المُدخلات وخزّنه في متغير
- اقرأ العدد الثاني من المُدخلات وخزّنه في متغير آخر
- حوّل كلا المتغيرين إلى نوع number (لإجراء العمليات الحسابية)
- احسب حاصل ضرب هذين العددين
- اطبع النتيجة
مثال:
إذا كان المُدخلان هما 2 و4.5، فينبغي أن يطبع برنامجك 9
تذكّر: تحتوي كل حالة اختبار على مُدخلين بالضبط، أحدهما بعد الآخر.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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 عبر الإنترنت