Elm:
De lengte van een string vinden
Hoe doe je dat:
In Elm gebruik je String.length
om te achterhalen hoeveel karakters een string bevat. Kijk maar:
import Html exposing (text)
main =
text (String.fromInt (String.length "Hallo, Elm!"))
-- Output: "11"
Diep Duiken
Historisch gezien zijn functies voor het bepalen van de lengte van strings cruciaal geweest voor geheugenbeheer en tekstverwerking in talen met laag-niveau toegang tot data. Elm, als een hoog-niveau taal, abstraheert deze details, en biedt ingebouwde functionaliteit met String.length
.
Twee punten die de moeite waard zijn om te noteren:
- Elm strings zijn UTF-16 gecodeerd.
String.length
geeft het aantal UTF-16 code-eenheden terug, wat kan verschillen van het daadwerkelijke aantal Unicode grafemen (door de gebruiker waargenomen karakters) in strings met complexe karakters. - Er zijn geen ingebouwde alternatieven voor
String.length
in Elm. Als je het aantal grafemen nodig hebt, heb je misschien een aangepaste functie nodig die rekening houdt met de complexiteit van Unicode.
Intern doorloopt String.length
de datastructuur van de string, waarbij elementen geteld worden. Als een zuivere functie hangt zijn output uitsluitend van de invoer af, waardoor het functioneel programmeringsethos van Elm behouden blijft.
Zie Ook
- De officiële
String
documentatie van Elm: https://package.elm-lang.org/packages/elm/core/latest/String#length - UTF-16: https://nl.wikipedia.org/wiki/UTF-16