Elixir - Listes de caractères

Une liste de caractères n'est rien de plus qu'une liste de caractères. Considérez le programme suivant pour comprendre la même chose.

IO.puts('Hello')
IO.puts(is_list('Hello'))

Le programme ci-dessus génère le résultat suivant -

Hello
true

Au lieu de contenir des octets, une liste de caractères contient les points de code des caractères entre guillemets simples. So while the double-quotes represent a string (i.e. a binary), singlequotes represent a char list (i.e. a list). Notez que IEx ne générera que des points de code en sortie si l'un des caractères est en dehors de la plage ASCII.

Les listes de caractères sont principalement utilisées lors de l'interfaçage avec Erlang, en particulier les anciennes bibliothèques qui n'acceptent pas les binaires comme arguments. Vous pouvez convertir une liste de caractères en chaîne et inversement en utilisant les fonctions to_string (char_list) et to_char_list (string) -

IO.puts(is_list(to_char_list("hełło")))
IO.puts(is_binary(to_string ('hełło')))

Le programme ci-dessus génère le résultat suivant -

true
true

NOTE - Les fonctions to_string et to_char_list sont polymorphes, c'est-à-dire qu'ils peuvent prendre plusieurs types d'entrée comme des atomes, des entiers et les convertir respectivement en chaînes et en listes de caractères.