Alex Young
11/22/2007 4:02:00 PM
Alvaro Perez wrote:
> Is there a way in Ruby to pass a hash value from string (or whatever) to
> an Array dinamically?
>
> Example: An array of objects Teacher, each with his name and belonging
> school. After iterating though its elements, we want an output of the
> type, "school_name_A" => "teacher_name_A", "school_name_B" =>
> ["teacher_name_B", "teacher_name_C"].
It's easier if you allow:
{"school_name_A" => ["teacher_name_A"],
"school_name_B" => ["teacher_name_B", "teacher_name_C"]}
That way you can do this:
schools = Hash.new{|h,k| h[k] = []}
teachers.each {|teacher| schools[teacher.school] << teacher.name}
--
Alex