Paste number 44855: Ruby: array to hash organized by instance variable

Paste number 44855: Ruby: array to hash organized by instance variable
Pasted by: jaron
When:1 year, 11 months ago
Share:Tweet this! | http://paste.lisp.org/+YLZ
Channel:#code4lib
Paste contents:
Raw Source | XML | Display As
# the last number in each sub-array becomes the 
# 'group' instance variable of the Zserver object
zservers = [[host, port, database, 0],[host, port, databse, 0], [host, port, databse, 1]]


zserver_objects = []
zservers.each do |server|
  zserver_objects << Zserver.new(server[0], server[1], server[2], server[3])
end

# Collect the group numbers. 
groups = zserver_objects.collect do |server|
  server.group #group is the last number in the 
end
groups.uniq!

server_h = {}
groups.each do |group|
  server_h[group] = Array.new(zserver_objects.find_all{|z| z.group == group})
end

## server_h {0=>[a_zserver, a_zserver], 1=>[a_zserver]}

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.