Назад к вопросам
Middle
104
questionbank

Как можно передать не связанные между собой объекты в функцию?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Можно передать их как отдельные аргументы или упаковать в структуру данных, например, массив или хеш.

# Передача как отдельные аргументы
def my_function(obj1, obj2)
  # ...
end

obj_a = Object.new
obj_b = Object.new
my_function(obj_a, obj_b)
# Передача в массиве
def my_function(objects)
  objects.each do |obj|
    # ...
  end
end

objects_arr = [Object.new, Object.new]
my_function(objects_arr)
# Передача в хеше
def my_function(objects)
  objects.each do |key, obj|
    # ...
  end
end

objects_hash = { key1: Object.new, key2: Object.new }
my_function(objects_hash)

Выбор метода зависит от количества и назначения объектов, а также от желаемой читаемости кода. Массив или хеш удобны, когда объектов много или они имеют логическую группировку.