Що означає *args у Ruby?

У Ruby *args - це спеціальний синтаксис, що використовується для прийому змінної кількості (будь-яку кількість) аргументів у методах. Зірочка (*) перед аргументом args дозволяє передавати будь-яку кількість аргументів у вигляді масиву. У методі він зберігається як масив, і ви можете працювати з цим масивом, використовуючи звичайні методи масиву, такі як each або map.

Наприклад, ось приклад простої функції, яка виводить всі передані аргументи:

def print_arguments(*args)
  args.each do |arg|
    puts arg
  end
end

print_arguments("Taras", "Shevchenko", 100)

Можна хоть 10 аргументів і метод print_arguments їх прийме і поверне.

Цей код виведе:

Taras
Shevchenko
100

Тут метод print_arguments приймає будь-яку кількість аргументів і виводить кожен з них на екран.