3
可能重复:
Sort strings and numbers in Ruby如果第一个标准是相等的,有没有办法在第二个标准上使用sort_by?
我有地方对象,每个阵列具有一个名字(唯一的)和数字(非唯一)。有没有简单的方法来使用sort_by先按数字排序,然后按名称排序(在每个数字中)?
我知道我可以编写一个自定义块进行排序,但如果这是可能的,它会更容易!
可能重复:
Sort strings and numbers in Ruby如果第一个标准是相等的,有没有办法在第二个标准上使用sort_by?
我有地方对象,每个阵列具有一个名字(唯一的)和数字(非唯一)。有没有简单的方法来使用sort_by先按数字排序,然后按名称排序(在每个数字中)?
我知道我可以编写一个自定义块进行排序,但如果这是可能的,它会更容易!
不知道这是否是你所说的“自定义模块”的意思,但它看起来很简单对我说:
places.sort_by { |place| [place.number, place.name] }
这是什么_exactly_我一直在寻找;谢谢!我不知道你也可以传递给它一个数组。 我的意思是“自定义块”是array.sort {| x1,x2 | x2 <=> x1},主要定义如何对项目进行排序。你的方式更好! – Benjin