Manejar atributos de 2 objetos de una clase

Hola a todos

Les pido si me pueden evacuar una consulta:
Estoy viendo clases y objetos y quiero referenciar dentro de una misma
clase los atributos de 2 objetos diferentes.
El código seria este:

class Enterolargo
def initialize
@e = Array.new
end
def generar(l)
for i in 0…l-1
@e[i]=rand(9)
end
end
def sumar(b)
#Aqui debería sumar cada elemento de a (self)con cada elemento de b
# no se si es posible hacerlo…
end
def mostrar
p @e
end

end

a = Enterolargo.new
a.generar(20)

b = Enterolargo.new
b.generar(20)

a.sumar(b)

Saludosy gracias!
Sergio Schwab

Hi Sergio,

class Enterolargo

You need a “getter” or in ruby terms “reader”

attr_reader :e

def initialize
@e = []
end

def generar(l)
for i in 0…l-1
@e[i]=rand(9)
end
end

def sumar(b)
#Aqui debería sumar cada elemento de a (self)con cada elemento de b
# no se si es posible hacerlo…
[e, other.e].transpose.map {|x| x.reduce(:+)}
end

def mostrar
p @e
end
end

a = Enterolargo.new
a.generar(20)

b = Enterolargo.new
b.generar(20)

a.sumar(b)
a.mostrar #=> [1, 3, 5, 6, 3, 4, … ]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs