> require 'generator'
> 
> xy = [["a","b"],["c","d"],["e","f"]]
> yx = SyncEnumerator.new(*xy).collect
> p yx
> 
> => [["a", "c", "e"], ["b", "d", "f"]]
> 
> I think there's another way in one of the standard libraries, but I
> don't have a memory, so I just remember generally useful things like
> SyncEnumerator and work from first principles.

just helping your memory:

p xy.transpose
#=> [["a", "c", "e"], ["b", "d", "f"]]

cheers

Simon