From: Robert Klemme Date: 2012-06-26T18:31:23+09:00 Subject: Re: working with two arrays On Tue, Jun 26, 2012 at 11:28 AM, Robert Klemme wrote: > On Tue, Jun 26, 2012 at 5:25 AM, Avdi Grimm wrote: >> On Mon, Jun 25, 2012 at 9:06 PM, skolo pen wrote: >>> >>> What method could I use to do the following: >>> >>> people = ["person1","person2","person3"] >>> >>> issue = ["issue1","issue2","issue3","issue4","issue5","issue6"] >>> >>> person1 => issue1 >>> >>> person2 => issue2 >>> >>> person3 => issue3 >>> >>> person1 => issue4 >>> >>> person2 => issue5 >>> >>> person3 => issue6 >>> >> >> people.cycle.take(issue.size).zip(issue) > > We can do that shorter > > irb(main):004:0> issue.zip(people.cycle) > => [["issue1", "person1"], ["issue2", "person2"], ["issue3", > "person3"], ["issue4", "person1"], ["issue5", "person2"], ["issue6", > "person3"]] PS: if you want proper ordering, you can do irb(main):005:0> issue.zip(people.cycle) {|i,p| printf "%s => %s\n", p, i} person1 => issue1 person2 => issue2 person3 => issue3 person1 => issue4 person2 => issue5 person3 => issue6 irb(main):006:0> issue.zip(people.cycle).map {|i,p| [p,i]} => [["person1", "issue1"], ["person2", "issue2"], ["person3", "issue3"], ["person1", "issue4"], ["person2", "issue5"], ["person3", "issue6"]] Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/