يتمثل أحد الجوانب الأساسية للتعامل مع الأعداد في Ruby في التمييز بين الأعداد الصحيحة (الأعداد التي لا تحتوي على أي أرقام بعد الفاصلة العشرية) والأعداد العشرية (الأعداد التي تحتوي على صفر أو أكثر من الأرقام بعد الفاصلة العشرية).
ويجري تنفيذهما من خلال الصنفين Integer وFloat.
a = 1
b = 1.0
a.class
#=> Integer
b.class
#=> Float
+، -، *، /).
ويمكن مقارنة الأعداد باستخدام عوامل المقارنة القياسية.Integer دائمًا نسخة من Integer.Float نسخًا أخرى من Float.Integer ونسخ من Float نسخًا من Float.Float وInteger طرق تُحوِّل القيم من أحدهما إلى الآخر.
الأعداد من نوع Integer دقيقة إلى وحدة كاملة، بينما دقة Float كسرية بالنسبة إلى عدد كامل.
وهذا يعني أن تحويل عدد عشري إلى عدد صحيح قد يؤدي إلى فقدان الدقة.4.9.to_i
#=> 4
5.to_f
#=> 5.0
7 - 3.0
#=> 4.0
2 == 4
#=> false
1.0 == 1
#=> true
يمكن استخدام الجملة الشرطية if لتنفيذ الكود بشكل شرطي:
x = 5
if x == 5
# Execute logic if x equals 5
elsif x > 7
# Execute logic if x greater than 7
else
# Execute logic in all other cases
end
أحيانًا قد ترغب في تنفيذ عبارة (أو عدة عبارات) إذا لم يتحقق شرط ما، وفي حالات كهذه توفّر Ruby الكلمة المفتاحية unless:
x = 4
unless x == 5
# Execute logic if x does not equal 5
else
# Execute logic if x == 5
end
وإذا أردت تنفيذ كود مختلف حسب قيمة متغير ما، فقد تفيدك جملة case في Ruby:
y = 5
case y
when 3
# Execute logic if y equals 3
when 5
# Execute logic if y equals 5
else
# Execute logic in all other cases
end
يمكن أحيانًا حل المسألة نفسها باستخدام أنواع مختلفة من الجمل الشرطية، وقد تكون إحداها أنسب للمسألة من الأخرى. ومن الجيد أن تتوقف لحظة وتفكر أيضًا في الخيارين الآخرين عند استخدام أي من الجمل الشرطية الثلاث.