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

Python013

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

数组

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

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

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

先解释一下 data是数组 sort是数组类型自带的一个排序函数,函数的参数是一个函数(也就是方法) 然后先看createComparisonFunction函数 这个函数返回了一个方法 其方法参数在返回方法内用到,符合了执行作用域的条件,形成闭包