Array con tamaño 10 dice You have a nil object when you didn

Hola, en primer lugar daos las gracias por el trabajo que hace la gente
en el foro,realmente increible y es de muchisima ayuda a los que
empezamos en esto.

Bueno, basicamente mi problema es que tengo un array, con 10 elementos,
segun me dice size, pero cuando intento acceder a alguno de sus
elementos, de cualquier forma, me dice que estoy intentando acceder, por
ejemplo, a nil.id.

es decir que al elemento que estoy accediendo es nil, pero es una
contradiccion, pues @array.size me da 10 asique no entiendo muy bien que
esta pasando…

Gracias

Kike De la fuente wrote:

Hola, en primer lugar daos las gracias por el trabajo que hace la gente
en el foro,realmente increible y es de muchisima ayuda a los que
empezamos en esto.

Bueno, basicamente mi problema es que tengo un array, con 10 elementos,
segun me dice size, pero cuando intento acceder a alguno de sus
elementos, de cualquier forma, me dice que estoy intentando acceder, por
ejemplo, a nil.id.

es decir que al elemento que estoy accediendo es nil, pero es una
contradiccion, pues @array.size me da 10 asique no entiendo muy bien que
esta pasando…

Gracias

D:\Users\titan>irb
irb(main):001:0> a=[nil,1,2]
=> [nil, 1, 2]
irb(main):002:0> a[0]
=> nil

Quiza tu elemento en realidad es un nil.
Imprimelo antes para asegurarte …

-r.

hola,

puedes compactar el array antes de usarlo,
para remover los elementos nil:

a = [nil, 1, nil, 2]
=> [nil, 1, nil, 2]

a.compact
=> [1, 2]

a
=> [nil, 1, nil, 2]

a.compact!
=> [1, 2]

a
=> [1, 2]

nota la diferencia entre .compact y compact!,
el primero retorna un nuevo array,
en cambio el segundo modifica el array original.

saludos
Franco

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