اعداد در روبی
انواع اعداد در روبی (Integer، Float)، عملیات ریاضی و توابع عددی
انواع عدد در روبی
روبی دو نوع عدد اصلی دارد:
۱. عدد صحیح (Integer)
اعداد کامل بدون اعشار — مثبت، منفی یا صفر:
x = 42
y = -17
z = 0
puts x.class # => Integer
۲. عدد اعشاری (Float)
اعداد با ممیز اعشار:
a = 3.14
b = -0.5
c = 2.0
puts a.class # => Float
عملیات ریاضی پایه
| عملگر | نام | مثال | نتیجه |
|---|---|---|---|
+ | جمع | 5 + 3 | 8 |
- | تفریق | 5 - 3 | 2 |
* | ضرب | 5 * 3 | 15 |
/ | تقسیم | 7 / 2 | 3 |
% | باقیمانده | 7 % 2 | 1 |
** | توان | 2 ** 3 | 8 |
a = 10
b = 3
puts a + b # 13
puts a - b # 7
puts a * b # 30
puts a / b # 3 (تقسیم صحیح!)
puts a % b # 1 (باقیمانده)
puts a ** b # 1000 (توان)
در روبی، تقسیم دو عدد صحیح (
7 / 2) نتیجه صحیح میدهد (3)، نه اعشاری! برای نتیجه اعشاری حداقل یکی باید Float باشد: 7.0 / 2 یا 7.to_f / 2.تفاوت / صحیح و / اعشاری
puts 7 / 2 # => 3 (صحیح)
puts 7.0 / 2 # => 3.5 (اعشاری)
puts 7 / 2.0 # => 3.5 (اعشاری)
puts 7.to_f / 2 # => 3.5 (اعشاری)
ترتیب عملیات
روبی ترتیب ریاضی استاندارد را رعایت میکند:
puts 2 + 3 * 4 # => 14 (اول ضرب)
puts (2 + 3) * 4 # => 20 (اول پرانتز)
puts 2 ** 3 ** 2 # => 512 (راست به چپ: 3^2=9, 2^9=512)
زیرخط در اعداد (Underscore)
برای خوانایی بهتر میتوانید از _ در اعداد بزرگ استفاده کنید:
population = 85_000_000 # 85 میلیون
puts population # => 85000000
متدهای مفید عددی
| متد | توضیح | مثال |
|---|---|---|
abs | قدر مطلق | (-5).abs → 5 |
even? | زوج؟ | 4.even? → true |
odd? | فرد؟ | 3.odd? → true |
between? | بین دو عدد؟ | 5.between?(1, 10) → true |
floor | گرد به پایین | 3.9.floor → 3 |
ceil | گرد به بالا | 3.1.ceil → 4 |
round | گرد کردن | 3.7.round → 4 |
times | تکرار | 3.times { puts "Hi" } |
ماژول Math
برای عملیات ریاضی پیشرفته، از ماژول Math استفاده کنید:
puts Math::PI # => 3.141592...
puts Math.sqrt(16) # => 4.0 (جذر)
puts Math.cbrt(27) # => 3.0 (جذر سوم)
puts Math.pow(2, 10) # => 1024.0
puts Math.log(100) # => 4.605... (لگاریتم طبیعی)
puts Math.log10(100) # => 2.0
اعداد تصادفی
با متد rand میتوانید عدد تصادفی تولید کنید:
puts rand(100) # عدد صحیح بین ۰ تا ۹۹
puts rand(1..10) # عدد صحیح بین ۱ تا ۱۰
puts rand # عدد اعشاری بین ۰ تا ۱
تبدیل نوع عدد
# Integer به Float
x = 5.to_f # 5.0
# Float به Integer
y = 3.99.to_i # 3 (بخش اعشار حذف میشود)
# رشته به عدد
z = "42".to_i # 42
w = "3.14".to_f # 3.14
هنگام تبدیل Float به Integer با
to_i، بخش اعشار گرد نمیشود، بلکه حذف میشود! 3.99.to_i میشود 3 نه 4.خلاصه
- دو نوع عدد:
IntegerوFloat - عملگرها:
+ - * / % ** - تقسیم صحیح/اعشاری:
7/2 → 3،7.0/2 → 3.5 - متدهای مفید:
abs,round,even?,between? - ماژول
Mathبرای ریاضی پیشرفته
این مبحث بخشی از دوره آموزش کامل روبی است.