Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التحويل (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

challenge icon

التحدي

مبتدئ

في هذا التحدي، ستعمل مع مدخلات متعددة وتجري عمليات حسابية.

كيفية استقبال مدخلات متعددة:

var1 = io.read()  -- المدخل الأول
var2 = io.read()  -- المدخل الثاني

مهمتك:

  1. قراءة الرقم الأول من المدخلات وتخزينه في متغير
  2. قراءة الرقم الثاني من المدخلات وتخزينه في متغير آخر
  3. تحويل كلا المتغيرين إلى نوع number (لإجراء الحسابات الرقمية)
  4. حساب حاصل ضرب هذين الرقمين
  5. طباعة النتيجة

مثال:

إذا كانت المدخلات هي 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()

جرّب بنفسك

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals