2012-06-29 162 views
6

特定陣列我想知道我怎麼可以生成使用範圍下面的陣列中的紅寶石紅寶石創建範圍

["00","00","01","01","02", "02", ...... "10", "10"] 

我要重複的每個元素兩次,那是我在尋找答案的一部分。我可以生成單個元素如下

("00".."10").to_a 

我知道我可以使用循環等做到這一點,但我要尋找一個簡單的一行代碼

感謝

回答

6
("00".."10").flat_map { |x| [x, x] } 
#=> ["00", "00", "01", "01", ..., "10", "10"] 
8

使用Array#zipArray#flatten

a = ("00".."10").to_a 
a.zip(a).flatten 
# ["00", "00", "01", "01", "02", "02", "03", "03", "04", "04", "05", "05", "06", "06", "07", "07", "08", "08", "09", "09", "10", "10"] 
+0

'to_a'是不必要的 – tokland