Ce face Triple
Triple este ca Pair, dar cu trei valori: Triple("Ana", "Iași", 21). Le citești cu first, second, third sau le desfaci: val (nume, oras, varsta) = t.
Nu există o funcție scurtă ca to pentru Triple și nici clase pentru patru sau mai multe valori. Dacă ai nevoie de mai mult, scrie o data class; și pentru trei valori, o clasă cu nume clare este adesea mai bună.
Parametri
| Parametru | Descriere |
|---|---|
first, second, third |
Cele trei valori. |
Ce returnează
Un obiect Triple<A, B, C>.
Exemple
Exemplul 1: Trei valori împreună
fun main() {
val student = Triple("Ana", "Iași", 21)
println(student)
println("${student.first} din ${student.second}, ${student.third} ani")
val (nume, oras, varsta) = student
println("$nume ($varsta) locuiește în $oras")
println(student.toList())
}
Rezultat
(Ana, Iași, 21)
Ana din Iași, 21 ani
Ana (21) locuiește în Iași
[Ana, Iași, 21]
Exemplul 2: Statistici returnate dintr-o funcție
fun statistici(note: List<Int>): Triple<Int, Int, Double> =
Triple(note.min(), note.max(), note.average())
fun main() {
val (minim, maxim, media) = statistici(listOf(7, 10, 8, 9))
println("Nota minimă: $minim")
println("Nota maximă: $maxim")
println("Media: $media")
}
Rezultat
Nota minimă: 7
Nota maximă: 10
Media: 8.5
Greșeli frecvente
- Încerci
Triple(1, 2, 3).fourthsau cauți o clasă cu patru valori. Nu există; folosește odata class. - Desfaci în ordinea greșită:
val (oras, nume) = ...ia valorile după poziție, nu după nume. Numele variabilelor nu contează, doar ordinea.
Comenzi înrudite
Pair: O pereche de două valori, first și second; a to b este felul scurt de a crea un Pair, folosit în mapOf.