Ordenação de coleção por vários campos em Kotlin
Olá a todos! Comecei a aprender Kotlin recentemente e me deparei com a tarefa de ordenar uma lista de objetos por vários campos. Por exemplo, tenho a classe Person:
```kotlin
data class Person(val name: String, val age: Int, val height: Double)
```
E uma lista de pessoas:
```kotlin
val people = listOf(
Person("Alice", 25, 165.0),
Person("Bob", 30, 180.0),
Person("Charlie", 25, 170.0),
Person("Alice", 30, 160.0)
)
```
Preciso ordenar esta lista primeiro pelo nome (ascendente), depois pela idade (ascendente) e depois pela altura (descendente). Em Java, eu usaria Comparator com uma cadeia de thenComparing. Em Kotlin, existe a função sortedWith, mas não entendo como aplicá-la corretamente para vários campos. Tentei escrever algo como:
```kotlin
val sorted = people.sortedWith(compareBy({ it.name }, { it.age }))
```
Mas isso ordena apenas por dois campos. Como adicionar ordenação descendente para a altura? E, em geral, existe uma maneira mais concisa? Ficarei grato.