Hi,
I have a array that looks like this
Type = [[“key”,“value”],[“key…”,“value…”],["…","…"]]
Now i want to the the display (value) when i have the key, is this a OK
way to do it? Or is there a better way?
Type.select{|key,disp| key == “H” }.collect{|key,value|value}.to_s
On Jul 10, 2007, at 7:10 AM, Jon S. wrote:
Hi,
I have a array that looks like this
Type = [[“key”,“value”],[“key…”,“value…”],["…","…"]]
Now i want to the the display (value) when i have the key, is this
a OK
way to do it? Or is there a better way?
Yes. You want the assoc() method:
assoc_array = [%w[key1 value1], %w[key2 value2], %w[key3 value3]]
=> [[“key1”, “value1”], [“key2”, “value2”], [“key3”, “value3”]]
assoc_array.assoc(“key2”).last
=> “value2”
Hope that helps.
James Edward G. II
Type = [[“key”,“value”],[“key…”,“value…”],["…","…"]]
Now i want to the the display (value) when i have the key, is this a OK
way to do it? Or is there a better way?
Type.select{|key,disp| key == “H” }.collect{|key,value|value}.to_s
Is this what you want to do?
If so, I think iteration is easier than that.
I think it is also faster but I did not check.
arr = [[“A”,2],[“H”,3],[“H”,4]]
arr.each {|x| print x[1] if x[0] == “H”}
Harry
Thanks for a good solution!
Now i saw that i had may key on in the last position in the inner array,
is there someother function that i use insted, so i can search for last
item? and return the first.
James G. wrote:
On Jul 10, 2007, at 7:10 AM, Jon S. wrote:
Hi,
I have a array that looks like this
Type = [[“key”,“value”],[“key…”,“value…”],["…","…"]]
Now i want to the the display (value) when i have the key, is this
a OK
way to do it? Or is there a better way?
Yes. You want the assoc() method:
assoc_array = [%w[key1 value1], %w[key2 value2], %w[key3 value3]]
=> [[“key1”, “value1”], [“key2”, “value2”], [“key3”, “value3”]]
assoc_array.assoc(“key2”).last
=> “value2”
Hope that helps.
James Edward G. II
On Jul 10, 2:54 pm, Jon S. [email protected] wrote:
Now i saw that i had may key on in the last position in the inner array,
is there someother function that i use insted, so i can search for last
item? and return the first.
Try rassoc.