Ny Kotlin byder på bedre typeinferens

Ny Kotlin byder på bedre typeinferens
Illustration: Bigstock/REDPIXEL.PL.
Version 1.7 har nået beta-stadiet
19. maj kl. 10:28
errorÆ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
Debatten
Log ind for at deltage i debatten.
settingsDebatindstillinger