Про клас Integer у Ruby

У Ruby, Integer є одним із основних класів, який використовується для представлення цілих чисел. Integer охоплює як маленькі цілі числа, що колись представлялися класом Fixnum, так і великі цілі числа, які раніше належали до класу Bignum. Починаючи з версії Ruby 2.4, класи Fixnum і Bignum об’єднані в один клас Integer, що дозволяє автоматично працювати з цілими числами будь-якого розміру.

Основні характеристики Integer

  1. Необмежений розмір: Цілі числа в Ruby можуть бути настільки великими або малими, наскільки дозволяє пам’ять системи.
  2. Автоматичне управління розміром: Ruby автоматично перемикається між представленнями чисел залежно від їх розміру. Немає необхідності турбуватися про переповнення або недоповнення числа.

Створення Integer

Цілі числа можна створювати різними способами:

  • Пряме присвоєння:

    a = 42
    b = -7
    
  • Використання методів перетворення:

    a = "123".to_i   # 123
    b = 3.14.to_i    # 3
    c = "abc".to_i   # 0 (якщо рядок не можна перетворити в число)
    

Арифметичні операції

Цілі числа в Ruby підтримують всі стандартні арифметичні операції:

  • Додавання:

    result = 5 + 3  # 8
    
  • Віднімання:

    result = 10 - 4  # 6
    
  • Множення:

    result = 6 * 7  # 42
    
  • Ділення (цілочисельне ділення):

    result = 10 / 3  # 3
    
  • Залишок від ділення:

    result = 10 % 3  # 1
    
  • Піднесення до степеня:

    result = 2 ** 3  # 8
    

Методи класу Integer

Клас Integer має багато корисних методів:

  • Абсолютне значення:

    result = -42.abs  # 42
    
  • Перевірка на парність або непарність:

    4.even?  # true
    3.odd?   # true
    
  • Перетворення в рядок:

    result = 123.to_s  # "123"
    
  • Наступне число:

    result = 5.next  # 6
    
  • Перевірка на нуль:

    result = 0.zero?  # true
    
  • Кількість цифр:

    result = 12345.digits  # [5, 4, 3, 2, 1]
    

Приклади використання

Декілька прикладів використання цілочисельних операцій і методів:

# Арифметичні операції
a = 20
b = 6
puts a + b   # 26
puts a - b   # 14
puts a * b   # 120
puts a / b   # 3
puts a % b   # 2

# Використання методів
number = -50
puts number.abs       # 50
puts number.even?     # true
puts number.odd?      # false

# Порівняння
puts 7 < 12           # true
puts 7 > 12           # false
puts 7 == 7           # true
puts 7 != 12          # true

Висновок

Integer в Ruby є універсальним і потужним класом для роботи з цілими числами, що надає великий набір методів і підтримує всі стандартні арифметичні операції. Це робить Ruby зручним для роботи з цілими числами в різних обчислювальних задачах.