Sobes.tech
Middle

Kuidas edastada funktsioonile mitteseotud objekte?

sobes.tech AI

Vastus AI-lt

Nad võivad olla edastatud eraldi argumentidena või pakitud andmestruktuuri, näiteks massiivi või hash'i.

# Edastamine eraldi argumentidena
def my_function(obj1, obj2)
  # ...
end

obj_a = Object.new
obj_b = Object.new
my_function(obj_a, obj_b)
# Edastamine massiivis
def my_function(objects)
  objects.each do |obj|
    # ...
  end
end

objects_arr = [Object.new, Object.new]
my_function(objects_arr)
# Edastamine hash'is
def my_function(objects)
  objects.each do |key, obj|
    # ...
  end
end

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

Meetodi valik sõltub objektide arvust ja eesmärgist ning soovitud koodilugemise lihtsusest. Massiiv või hash on mugav, kui objekte on palju või neil on loogiline rühmitus.