Trouver la longueur d'une chaîne de caractères

Elixir:
Trouver la longueur d'une chaîne de caractères

How to:

En Elixir, la longueur d’une chaîne est trouvée avec la fonction String.length/1. Voici comment ça marche :

string = "Bonjour le monde"
longueur = String.length(string)
IO.puts(longueur)  # Affiche 16

Si on utilise des caractères Unicode, ça reste aussi simple :

str_unicode = "😀😃😄"
IO.puts(String.length(str_unicode))  # Affiche 3

La longueur retourne le nombre de graphèmes, pas nécessairement le nombre d’octets ou de points de code Unicode.

Deep Dive

Avant Elixir, d’autres langages avaient leurs manières de faire — par exemple, en Python, c’est len("chaîne"). Ce qui rend Elixir spécial, c’est qu’il compte les graphèmes. En UTF-8, un caractère comme “é” peut être représenté par plusieurs octets. Elixir gère ça tranquillement.

Alternatives? On pourrait compter les octets (byte_size/1) ou les points de code (String.codepoints/1 et les compter), mais ce n’est pas idéal pour la longueur “visuelle” de la chaîne.

Implementation details? String.length/1 utilise le module String.Unicode d’Elixir pour parcourir correctement les graphèmes. C’est robuste, supportant même les caractères combinants.

See Also