De lengte van een string vinden

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:

  1. 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.
  2. 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