Ruby FizzBuzz: несколько методов решения проблемы FizzBuzz

Проблема «FizzBuzz» — это распространенная задача кодирования, которая включает в себя печать чисел от 1 до заданного предела, но с одной особенностью: для чисел, кратных 3, вы печатаете «Fizz» вместо числа, а для чисел, кратных 5., вы печатаете «Buzz». Для чисел, кратных 3 и 5, вы печатаете «FizzBuzz».

Вот несколько различных методов Ruby для решения проблемы FizzBuzz:

Метод 1: использование простого цикла и условных операторов

def fizzbuzz(limit)
  (1..limit).each do |num|
    if num % 3 == 0 && num % 5 == 0
      puts "FizzBuzz"
    elsif num % 3 == 0
      puts "Fizz"
    elsif num % 5 == 0
      puts "Buzz"
    else
      puts num
    end
  end
end
fizzbuzz(100)

Метод 2. Использование тернарного оператора и объединения строк

def fizzbuzz(limit)
  (1..limit).each do |num|
    output = ""
    output += "Fizz" if num % 3 == 0
    output += "Buzz" if num % 5 == 0
    puts output.empty? ? num : output
  end
end
fizzbuzz(100)

Метод 3. Использование оператора case

def fizzbuzz(limit)
  (1..limit).each do |num|
    case 0
    when num % 15
      puts "FizzBuzz"
    when num % 3
      puts "Fizz"
    when num % 5
      puts "Buzz"
    else
      puts num
    end
  end
end
fizzbuzz(100)

Это всего лишь несколько примеров того, как можно решить проблему FizzBuzz в Ruby. Каждый метод использует немного другой подход, но все они дают одинаковый результат.