Ny Kotlin byder på bedre typeinferens

19. maj 2022 kl. 10:28
Ny Kotlin byder på bedre typeinferens
Illustration: Bigstock/REDPIXEL.PL.
Version 1.7 har nået beta-stadiet
Artiklen er ældre end 30 dage

JVM-sproget Kotlin, der ifølge dets bagmænd bruges af over 60 procent af Android-udviklerne, er på vej med version 1.7.0, der har nået beta-stadiet. 

Blandt nyhederne er builder-inferens, som er en særlig form for typeinferens, der kan være nyttig, når man kalder generiske builder-funktioner, skriver udviklerne bag i et blogindlæg. Tidligere har man skullet benytte en annotation for at benytte faciliteten.

Tidligere blev collection-funktionerne min() og max() omdøbt til det mere præcise minOrNull() og maxOrNull(), da funktionerne kan returnere null-værdier. Nu vender min(), max() og andre funktioner stærkt tilbage, men i udgaver, der ikke kan returnere null.

Nye faciliteter med regular expressions er nu 'stable', hvilket vil sige klar til brug i produktion. Det drejer sig om funktionerne Regex.matchAt() og Regex.matchesAt(), som blev introduceret i 1.5.30. Funktionerne giver mulighed for at kontrollere, om et regulært udtryk har et nøjagtigt match på en bestemt position i en String eller CharSequence.

Artiklen fortsætter efter annoncen

Funktionen matchesAt() kontrollerer, om der er et match:

  1. fun main(){
  2. val releaseText = "Kotlin 1.7.0 is on its way!"
  3. // regular expression: one digit, dot, one digit, dot, one or more digits
  4. val versionRegex = "\\d[.]\\d[.]\\d+".toRegex()
  5.  
  6. println(versionRegex.matchesAt(releaseText, 0)) // "false"
  7. println(versionRegex.matchesAt(releaseText, 7)) // "true"
  8. }

Funktionen matchAt() returnerer matchet, hvis der er et, eller null, hvis ikke:

  1. fun main(){
  2. val releaseText = "Kotlin 1.7.0 is on its way!"
  3. val versionRegex = "\\d[.]\\d[.]\\d+".toRegex()
  4.  
  5. println(versionRegex.matchAt(releaseText, 0)) // "null"
  6. println(versionRegex.matchAt(releaseText, 7)?.value) // "1.7.0"
  7. }

De nye faciliteter er tilgængelige via beta-versionen i værktøjerne IntelliJ IDEA og Android Studio, der begge udvikles af Jetbrains, som er det oprindelige ophav til Kotlin.

Ingen kommentarer endnu.  Start debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger