我有三个数组。数组都具有相同的大小并包含相同的元素。但是,这三个数组的顺序不能相同。如何验证元素的顺序不同?比较三个阵列与相同元素的顺序
下面是我实现它:
all_elements_equal = true
array1.zip(array2, array3) do |first, second, third|
if first != second && second != third && first != third
all_elements_equal = false
end
end
如果all_elements_equal是假的,想必数组不是以相同的顺序。但是,如果只有一个阵列是不同的,而另外两个是相同的,则可能不会出现这种情况。
所以,我的问题是,我如何使测试更强大,是否有一个更优雅的方式来实现代码?充分披露:我是Ruby的新手。
+ 1 - 用一个简单的例子测试了一下,逻辑确实按预期工作。 – 2010-08-31 19:21:05
这工作。原来,解决方案比我想象的要简单! – 2010-08-31 19:37:07
一些有点fancier(不一定更好):'[array1,array2,array3] .combination(2).all? {| a,b | a!= b}' – 2010-09-01 15:12:48