Ruby 如果第一个条件相等,有没有办法在第二个条件上使用sort_by?

Ruby 如果第一个条件相等,有没有办法在第二个条件上使用sort_by?,ruby,sorting,Ruby,Sorting,可能重复: 我有一个place对象数组,每个对象都有一个名称(唯一)和一个编号(非唯一)。有没有一种简单的方法可以使用sort_by首先按数字排序,然后(在每个数字中)按名称排序 我知道我可以编写一个自定义块进行排序,但如果这是可能的,那就更容易了 不确定这是否是您所说的“自定义块”的意思,但对我来说似乎很简单: places.sort_by { |place| [place.number, place.name] } 这正是我想要的;非常感谢。我不知道你也可以给它传递数组。我所说的“自定义

可能重复:

我有一个place对象数组,每个对象都有一个名称(唯一)和一个编号(非唯一)。有没有一种简单的方法可以使用sort_by首先按数字排序,然后(在每个数字中)按名称排序


我知道我可以编写一个自定义块进行排序,但如果这是可能的,那就更容易了

不确定这是否是您所说的“自定义块”的意思,但对我来说似乎很简单:

places.sort_by { |place| [place.number, place.name] }
这正是我想要的;非常感谢。我不知道你也可以给它传递数组。我所说的“自定义块”是array.sort{| x1,x2 | x2 x1},本质上是专门定义如何对项进行排序。你的方式好多了!