a = ["a","b","c"]
a.each_cons(2).to_a # => [["a", "b"], ["b", "c"]]
我想要这个数组中的三个可能的对
答案 0 :(得分:1)
您可以使用Array#permutation生成所有组合的子阵列。
a.permutation(2).to_a
# => [["a", "b"], ["a", "c"], ["b", "a"], ["b", "c"], ["c", "a"], ["c", "b"]]
在此之后,您可以使用Array#sample选择3个随机数组(假设您要选择随机子数组)。这里:
a.permutation(2).to_a.sample(3)
# => [["c", "b"], ["c", "a"], ["b", "c"]]
答案 1 :(得分:0)
试试这个:
a = ["a","b","c"]
a.permutation(2).to_a.take(3)
# => [["a", "b"], ["a", "c"], ["b", "a"]]
答案 2 :(得分:0)
a = ["a","b","c"]
a.combination(2).to_a # => [["a", "b"], ["a", "c"], ["b", "c"]]