Trovare la lunghezza di una stringa

Elixir:
Trovare la lunghezza di una stringa

How to:

Elixir rende semplice trovare la lunghezza di una stringa mediante la funzione String.length/1:

stringa = "Ciao, mondo!"
lunghezza = String.length(stringa)
IO.puts(lunghezza)

Output:

12

Deep Dive

In Elixir, le stringhe sono codificate in UTF-8, il che significa che String.length/1 restituisce il numero di caratteri Unicode, piuttosto che semplici byte. Questa è una distinzione importante, poiché alcuni caratteri potrebbero essere rappresentati da più byte.

Se vuoi il conteggio dei byte, potresti usare byte_size/1:

byte_size("Ciao, mondo!")

Prima dell’adozione dell’UTF-8, si usavano altri schemi di codifica che non rappresentavano sempre correttamente i caratteri internazionali. Oggi con String.length/1 otteniamo un modo affidabile e universale di lavorare con testi da tutto il mondo.

Un’alternativa vecchio stile era usare liste di caratteri, note come charlists in Elixir:

charlist = 'Ciao, mondo!'
length = length(charlist)  # Attenzione: Questa è la funzione length/1 generica di Elixir, non String.length/1
IO.puts(length)

Questo restituirà lo stesso numero di elementi, ma lavorare con charlists è sconsigliato quando si gestiscono stringhe di testo in UTF-8 in Elixir moderno.

See Also