array in ruby

L

Leonard Yera

hello list

I have this array, in irb I write @mercados
it puts this

[[#<Mercado id: 1, nombre: "Ibex 35", descripcion: "", simbolo: "^IBEX",
created_at: "2008-08-13 10:22:42", updated_at: "2008-08-13 10:22:42">],
[#<Mercado id: 1, nombre: "Ibex 35", descripcion: "", simbolo: "^IBEX",
created_at: "2008-08-13 10:23:39", updated_at: "2008-08-13 10:23:39">],
[#<Mercado id: 1, nombre: "Ibex 35", descripcion: "", simbolo: "^IBEX",
created_at: "2008-08-13 10:23:55", updated_at: "2008-08-13 10:23:55">],
[#<Mercado id: 2, nombre: "Nasdaq", descripcion: "", simbolo: "",
created_at: "2008-08-13 17:39:27", updated_at: "2008-08-13 17:39:27">]]

if I write @mercados[1] it puts

#<Mercado id: 1, nombre: "Ibex 35", descripcion: "", simbolo: "^IBEX",
created_at: "2008-08-13 10:23:39", updated_at: "2008-08-13 10:23:39">]

I write @mercados.id but it is wrong
I want params id, How do it??


thanks
 
D

Daniel Choi

It looks like you have an array of arrays. So @mercados[1] returns and
array containing a Mercado object. Try @mercados[1][0].id or
@mercardos[1].first.id
 
R

Ryan Davis

hello list

I have this array, in irb I write @mercados
it puts this

[[#<Mercado id: 1, nombre: "Ibex 35", descripcion: "", simbolo:
"^IBEX",
created_at: "2008-08-13 10:22:42", updated_at: "2008-08-13
10:22:42">],
[#<Mercado id: 1, nombre: "Ibex 35", descripcion: "", simbolo:
"^IBEX",
created_at: "2008-08-13 10:23:39", updated_at: "2008-08-13
10:23:39">],
[#<Mercado id: 1, nombre: "Ibex 35", descripcion: "", simbolo:
"^IBEX",
created_at: "2008-08-13 10:23:55", updated_at: "2008-08-13
10:23:55">],
[#<Mercado id: 2, nombre: "Nasdaq", descripcion: "", simbolo: "",
created_at: "2008-08-13 17:39:27", updated_at: "2008-08-13
17:39:27">]]

if I write @mercados[1] it puts

#<Mercado id: 1, nombre: "Ibex 35", descripcion: "", simbolo: "^IBEX",
created_at: "2008-08-13 10:23:39", updated_at: "2008-08-13 10:23:39">]

No. You're not seeing (or writing above) the extra "[". You have an
array of arrays of mercados, not an array of mercados. You need to
either flatten before you access, access 2 levels deep, or assign your
top level array differently so you don't have the extra nesting
(assuming it serves no purpose).

@mercados.flatten[0] # remember, arrays are 0 indexed.

vs

@mercados[0][0]

vs

# do something different to populate @mercados 1 level deep
#mercados[0]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,202
Messages
2,571,055
Members
47,659
Latest member
salragu

Latest Threads

Top