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

تحويل أنواع البيانات

جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 31 من 88.

عندما تقرأ مدخلات باستخدام gets، فإن Ruby تعيد دائماً سلسلة نصية (string)، حتى لو قام المستخدم بكتابة رقم. يصبح هذا مشكلة عندما تحتاج إلى إجراء عمليات حسابية.

age = gets.chomp
puts age + 5

سيؤدي هذا الكود إلى حدوث خطأ لأنه لا يمكنك إضافة رقم إلى سلسلة نصية. لإصلاح ذلك، تحتاج إلى تحويل السلسلة النصية إلى رقم باستخدام .to_i (إلى عدد صحيح) أو .to_f (إلى عدد عشري):

age = gets.chomp.to_i
puts age + 5

الآن إذا قام المستخدم بكتابة "20"، سيكون الناتج 25. استخدم .to_f عندما تحتاج إلى أرقام عشرية:

price = gets.chomp.to_f
puts price * 1.1

يمكنك أيضاً تحويل الأرقام مرة أخرى إلى سلاسل نصية باستخدام .to_s. هذا مفيد عندما تحتاج إلى دمج الأرقام مع النصوص دون استخدام إدراج السلاسل النصية (string interpolation):

count = 42
puts "Count: " + count.to_s
challenge icon

التحدي

سهل

اقرأ رقمين من المستخدم كمدخلات. المدخل الأول هو عدد صحيح (integer) والمدخل الثاني هو عدد عشري (float).

احسب واطبع ما يلي في أسطر منفصلة:

  1. مجموع كلا الرقمين
  2. حاصل ضرب كلا الرقمين (multiplication)

تأكد من تحويل كل مدخل إلى النوع الرقمي المناسب قبل إجراء الحسابات.

على سبيل المثال، إذا كانت المدخلات هي 5 و 2.5، يجب أن تكون المخرجات:

7.5
12.5

ورقة مرجعية

عند قراءة المدخلات باستخدام gets، تقوم Ruby دائماً بإرجاع سلسلة نصية. لإجراء العمليات الحسابية، قم بتحويل السلاسل النصية إلى أرقام باستخدام .to_i (إلى عدد صحيح) أو .to_f (إلى عدد عشري):

age = gets.chomp.to_i
puts age + 5

استخدم .to_f للأرقام العشرية:

price = gets.chomp.to_f
puts price * 1.1

قم بتحويل الأرقام مرة أخرى إلى سلاسل نصية باستخدام .to_s:

count = 42
puts "Count: " + count.to_s

جرّب بنفسك

# قراءة المدخلات
integer_num = gets.chomp.to_i
float_num = gets.chomp.to_f

# المهام المطلوبة: اكتب الكود الخاص بك أدناه لحساب المجموع وحاصل الضرب


# طباعة النتائج (اطبع المجموع وحاصل الضرب في أسطر منفصلة)
quiz iconاختبر نفسك

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

جميع دروس الأساسيات