以随机顺序将数组拆分为多个数组 - Ruby

Nat*_*ers 5 ruby arrays random slice

我试图在每次运行时以随机顺序将一个名称数组拆分成多个数组.我知道如何拆分他们:

 name_array = ["bob","john","rob","nate","nelly","michael"]
 array = name_array.each_slice(2).to_a
 => [["bob", "john"], ["rob", "nate"], ["nelly", "michael"]]
Run Code Online (Sandbox Code Playgroud)

但是,如果我希望它每次都以随机顺序吐出来怎么办?

fal*_*tru 6

在做同样的事情之前,将数组洗牌.(Array#shuffle)

name_array.shuffle.each_slice(2).to_a
# => [["nelly", "nate"], ["rob", "bob"], ["michael", "john"]]
Run Code Online (Sandbox Code Playgroud)

或者,根据您的需要随后洗牌:

name_array.each_slice(2).to_a.shuffle
# => [["nelly", "michael"], ["rob", "nate"], ["bob", "john"]]
Run Code Online (Sandbox Code Playgroud)