fork download
  1. Person = Struct.new(:id, :first_name, :last_name)
  2. a = [Person.new(1,'Alice', 'Smith'),
  3. Person.new(2, 'Bob', 'Smith'),
  4. Person.new(3,'Carol', 'Smith')]
  5. p m = a.group_by(&:id)
Success #stdin #stdout 0.01s 6496KB
stdin
Standard input is empty
stdout
{1=>[#<struct Person id=1, first_name="Alice", last_name="Smith">], 2=>[#<struct Person id=2, first_name="Bob", last_name="Smith">], 3=>[#<struct Person id=3, first_name="Carol", last_name="Smith">]}