I have an object called Tags with id and name ==> [ tag.id , tag.name]
| [1 , aaa] |
| [ 3 , bbb] |
| [ 5 , ccc] |
| [ 6 , dfd] |
| [ 7 , waf] |
| [ 11 , vee] |
There is an array with the list of tags , i just want to extract all
tag.id
as a new array, what is the easiest way to do
Thriving K. wrote:
| [ 7 , waf] |
| [ 11 , vee] |
There is an array with the list of tags , i just want to extract all
tag.id
as a new array, what is the easiest way to do
Is this how your array looks?
a = [
[1 , :aaa],
[ 3 , :bbb],
[ 5 , :ccc],
[ 6 , :dfd],
[ 7 , :waf],
[ 11 , :vee]
]
p a.transpose[0] # ==> [1, 3, 5, 6, 7, 11]
Or:
p a.map {|b| b[0]}
Joel VanderWerf wrote:
p a.transpose[0] # ==> [1, 3, 5, 6, 7, 11]
Or:
p a.map {|b| b[0]}
Or:
p a.map {|(id,name)| id }
2009/8/4 Thriving K. [email protected]:
| [ 7 , waf] |
| [ 11 , vee] |
There is an array with the list of tags , i just want to extract all
tag.id
as a new array, what is the easiest way to do
In any case you need method #map. In 1.9* you can even do use
map(&:id):
irb(main):001:0> Tag = Struct.new :id, :name
=> Tag
irb(main):002:0> a = Array.new(5) {|i| Tag.new(i, ānā*i)}
=> [#, #,
#, #,
#]
irb(main):003:0> a.map(&:id)
=> [0, 1, 2, 3, 4]
Kind regards
robert