ruby中数组的sort_by排序方法使用

Python09

ruby中数组的sort_by排序方法使用,第1张

数组

array = [[1],[2],[3],[0],[1,2],[1,0],[0,1]]

希望排序整个数组,先按照数组 元素个数 ,如果个数相同再 按照首个元素大小

array.sort_by {|a| [a.size, a[0]] }

C++中定义与使用数组跟C语言中是一样的。

具体定义与使用方法可以参考如下程序段:

int a[5] // 定义一个含5个元素的int类型的数组double b[5]={3.2, 3.5, 0.8, 8, 5,3} // 定义一个含5个元素的double类型的数组并初始化char c[] ="abcd" // 定义一个字符数组,并初始化a[0] = c[0] // 将字符数组的第一个字符所对应的ASCII码值赋值给数组a的第一个元素printf("%lf", b[3]) // 输出数组b的第4个元素(数组下标从0开始)

.all?这是一个ruby方法,他的返回结果只有两个,true或者false,判断的是数组中每一个元素都是true的就返回true,只要有一个不是true就返回false,如[nil,22].all?返回的就是false。还有就是判断数组遍历运算过程中,每一个结果是不是true,如[1,2,3].all?{|w| w >1}这个的结果就是false。

你的例子中,作为判断对象的是一个空数组,不执行后面的代码,也没有一个元素是false的,所以返回的是true,这是我的见解