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)
但是,如果我希望它每次都以随机顺序吐出来怎么办?
在做同样的事情之前,将数组洗牌.(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)