Ak sa funkcia skladá z jediného výrazu, potom nie je potrebné písať jej návratový typ (keďže je zjavný) a netreba písať ani blok príkazov ani return statement. Ukážka:
Pôvodný zápis:
fun compute(a: Int, b: Int) : Int {
return a * b
}
Jednoriadkový zápis:
fun compute(a: Int, b: Int) = a * b
Tento zápis používame pomerne často, pretože výrazy vedia byť aj dosť komplexné. Uvediem preto ešte jeden príklad:
fun weekDayName(dayNumber: Int) = when(dayNumber) {
1 -> "Monday"
2 -> "Tuesday"
// ...
else -> "Invalid input"
}
When je totiž tiež len jeden výraz avšak môže byť rozložený na stovke riadkov. Dobrým zvykom ale je pri zložitejších funkciách zachovať aspoň vymenovanie návratového typu:
fun weekDayName(dayNumber: Int) : String = when(dayNumber) { // ...
Prepíš funkciu na výpočet obsahu obdĺžnika do jednoriadkového zápisu.
Vytvor jednoriadkovú funkciu jeKladne, ktorá vráti, či je číslo väčšie než nula.
Napíš jednoriadkovú funkciu s when, ktorá pre známku 1 až 5 vráti slovné hodnotenie.