def +(o)
suma = Array.new(matriz.size - 1)
i = 0
(matriz.size - 1).times do
if (matriz[i] != nil or o.matriz[i] != nil)
suma[i] = Hash.new()
case true
when (matriz[i] != nil and o.matriz[i] != nil)
suma[i] = matriz[i]
o.matriz[i].each do |key, value|
if suma[i].has_key?(key)
suma[i][key] = suma[i][key] + o.matriz[i][key]
else
suma[i][key] = o.matriz[i][key]
end
end
when matriz[i] != nil
suma[i] = matriz[i]
when o.matriz[i] != nil
suma[i] = o.matriz[i]
end
end
i += 1
end
MatrizDispersa.new(suma)
end