2つのアレイをランダムな場所に圧縮して元の順序を維持する簡単な方法はありますか?
例えば
a=[0,1,2,3,4,5,6,7,8,9,10]
b=["one","two","three","four"]
と0から5までの乱数rand(5)
zipped = [0,"one",1,2,3,"two",4,"three",5,6,7,8,"four",9,10]
ランダムな系列は1,3,1,4
、bの各要素をaに「zip」する場所として使用されます。
私にできる最善のことは
i=0
merged=a
b.each do |x|
rnd = rand(5)
merged.insert(i+rnd,x)
i=i+rnd
end