非随机地随机播放两个数组

时间:2016-10-09 00:39:30

标签: arrays ruby

我有两个不同的数组,其中包含数组:

Vowels = [['a', 'a'], ['a', 'e'], ['a', 'i']]
Consonants = [['b', 'b', 'b'], ['b', 'b', 'c'], ['b', 'b', 'd']]

我希望能够将它们组合成各种可能的组合,而不会丢失或添加内容,具有功能

allmixes(Vowels, Consonants)
#=> [['a', 'a', 'b', 'b', 'b'], ['a', 'b', 'b', 'b', 'a'], ...]

通过混合,我的意思是我需要两个数组两个有一个没有重复的组合,或者一个跟随模式的随机播放让我按索引调用某个结果。

2 个答案:

答案 0 :(得分:1)

Permission denial: Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to get scan results

答案 1 :(得分:0)

您可以尝试permutation

vowels.flat_map do |vowel|
  consonants.flat_map do |consonant|
    [*vowel,*consonant].permutation.to_a.uniq
  end
end

Demonstration