While reading the archives, I found out about this cool “idiom”:
hash = Hash[*ary]
which will turn [1,2,3,4] into {1=>2, 3=>4}. Is there anything similar
to do the opposite (i.e., turn {1=>2, 3=>4} into [1,2,3,4] or
[3,4,1,2])? I can only come up with this:
While reading the archives, I found out about this cool “idiom”:
hash = Hash[*ary]
which will turn [1,2,3,4] into {1=>2, 3=>4}. Is there anything similar
to do the opposite (i.e., turn {1=>2, 3=>4} into [1,2,3,4] or
[3,4,1,2])? I can only come up with this:
ary = Hash.to_a.flatten
Well this is something I didn’t know about till I saw Matz mention it in
another thread today:
While reading the archives, I found out about this cool “idiom”:
hash = Hash[*ary]
which will turn [1,2,3,4] into {1=>2, 3=>4}. Is there anything similar
to do the opposite (i.e., turn {1=>2, 3=>4} into [1,2,3,4] or
[3,4,1,2])? I can only come up with this:
ary = Hash.to_a.flatten
You can use inject if you want to save the intermediate array: