FizzBuzz in kotlin
Von Carsten
Heute gibt es nach langer Zeit mal wieder einen kleinen technischen Artikel, da ich mir gerade die Grundlagen von kotlin ansehe. Bisher habe ich mir eher Sprachen angesehen, die nicht auf der JVM laufen und nicht gerade Java-ähnlich sind, aber aus aktuellem Anlass will ich zumindest die Grundlagen verstehen und idiomatischen Code einigermassen erkennen.
Dazu habe ich wie so oft das Beispiel Fizz Buzz genommen. Wer diese Standardaufgabe noch nicht kennt, der kann hier nachlesen, was das ganze soll.
Nach der kurzen Lektüre der Grundlagen habe ich folgenden Code geschrieben:
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
class FizzBuzzTest {
@Test
fun testRange() {
val expected = listOf("1", "2", "fizz", "4", "buzz", "fizz", "7", "8", "fizz", "buzz", "11", "fizz", "13", "14", "fizzbuzz", "16")
val transform: (Int) -> String = {it -> when {
it % 15 == 0 -> "fizzbuzz"
it % 5 == 0 -> "buzz"
it % 3 == 0 -> "fizz"
else -> "$it"
}}
assertEquals(expected, (1..16).map(transform))
}
}
Als nächstes möchte ich Kotlin for JavaScript in einer kleinen Webanwendung mit Quarkus ausprobieren. Ich stelle mir da erstmal eine einfache Angular Anwendung vor, bei der man seinen Namen eingibt und anschliessend eine kleine Textbegrüßung angezeigt wird.