2012-06-29 161 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