如何在Ruby中更改多维数组的输出顺序?

如何在Ruby中更改多维数组的输出顺序?,ruby,Ruby,我有两个阵列: m1 = ["a", "b", "c"] m2 = ["yes", "no"] 我期望得到以下结果: expected-output = [["a", "yes"], ["a", "no"], ["b", "yes"], ["b", "no"], ["c", "yes"], ["c", "no"]] 这是我尝试的代码: array1 = [] array2 = [] m2.map { |e| m1.m

我有两个阵列:

m1 = ["a", "b", "c"]
m2 = ["yes", "no"]
我期望得到以下结果:

expected-output = [["a", "yes"], ["a", "no"],
                   ["b", "yes"], ["b", "no"],
                   ["c", "yes"], ["c", "no"]]
这是我尝试的代码:

array1 = []
array2 = []
m2.map { |e| m1.map {|i| array1 << i and array2 << e }}
newArray = array1.zip(array2)
print newArray

PS:我已经使用了排序方法,但它不起作用。

为此,您必须使用Ruby上提供的产品功能


只要做
m1.product(m2)
。不管它值多少钱,你试过的东西都可以写
m1.flat|map{字母{m2.map{bool}[字母,bool]}
m1.map{i{m2.map{e{124; array1也许如@lower所言,”@CarySwoveland是的,我没有注意到他的回答,对不起。不管怎么说,这个问题来自一个电报组,我以前在那里得到过答复,然后我就来这里提问。
[["a", "yes"], ["b", "yes"], 
 ["c", "yes"], ["a", "no"], 
 ["b", "no"], ["c", "no"]]
> m1 = ["a", "b", "c"]
=> ["a", "b", "c"]
> m2 = ["yes", "no"]
=> ["yes", "no"]
> m1.product(m2)
=> [["a", "yes"], ["a", "no"], ["b", "yes"], ["b", "no"], ["c", "yes"], ["c", "no"]]