Middle
Como se podem passar objetos não relacionados entre si para uma função?
sobes.tech IA
Resposta da IA
Podem ser passados como argumentos separados ou embalados numa estrutura de dados, por exemplo, uma matriz ou um hash.
# Passagem como argumentos separados
def my_function(obj1, obj2)
# ...
end
obj_a = Object.new
obj_b = Object.new
my_function(obj_a, obj_b)
# Passagem numa matriz
def my_function(objects)
objects.each do |obj|
# ...
end
end
objects_arr = [Object.new, Object.new]
my_function(objects_arr)
# Passagem num hash
def my_function(objects)
objects.each do |key, obj|
# ...
end
end
objects_hash = { key1: Object.new, key2: Object.new }
my_function(objects_hash)
A escolha do método depende do número e do propósito dos objetos, bem como da legibilidade do código desejada. Um array ou um hash são convenientes quando há muitos objetos ou eles têm uma agrupação lógica.