2012-06-12 61 views
2

我使用Array()將each_with_index輸出與索引數組,但我希望它輸出首先把指數與each_with_index

[[0,obj1],[1,obj2]....] 

而each_with_index使得輸出

[[obj1,0],[obj2,1]....] 

有無論如何,這可以固定easilly?

被要求顯示代碼。

Array(test.each_with_index) 
+1

@Sergio我幾乎說什麼做什麼,是陣列的基本紅寶石(array.each_with_index) – nekosune

回答

3

嘗試在each_with_index之後加.map { |x| x.reverse }

+0

三江源,但是所有做的是返回的對象顛倒 'IRB(主要):001:0>測試= [「罌粟」,「小貓」,「小狗」] => [「罌粟」,「小貓」,「小狗」] irb(main):002:0> Array test.each_with_index.map {| x | x.reverse}) => [「yppop」,「yttik」,「yppup」]' – nekosune

+0

你需要在數組上運行這個函數 - '[「foo」,「bar 「] .each_with_index.to_a.map {| x | x.reverse} => [[0,「foo」],[1,「bar」]]'。 –

+0

Thankyou,這正是我需要的 – nekosune

0

使用此:

[obj1, obj2, ..., objN].map.with_index{|a,i| [i,a] } 
#=> [[0, obj1], [1, obj2], ..., [N-1, objN]] 
+0

種類正是我不想要的 – nekosune

+0

@nekosune,hahaha :)看到我的編輯 – fl00r