Elisir - Elenchi di Char

Un elenco di caratteri non è altro che un elenco di caratteri. Considera il seguente programma per capire lo stesso.

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

Il programma di cui sopra genera il seguente risultato:

Hello
true

Invece di contenere byte, un elenco di caratteri contiene i punti di codice dei caratteri tra virgolette singole. So while the double-quotes represent a string (i.e. a binary), singlequotes represent a char list (i.e. a list). Nota che IEx genererà solo punti di codice come output se uno dei caratteri è al di fuori dell'intervallo ASCII.

Gli elenchi di caratteri vengono utilizzati principalmente quando si interfaccia con Erlang, in particolare vecchie librerie che non accettano i binari come argomenti. È possibile convertire un elenco di caratteri in una stringa e viceversa utilizzando le funzioni to_string (char_list) e to_char_list (stringa) -

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

Il programma di cui sopra genera il seguente risultato:

true
true

NOTE - Le funzioni to_string e to_char_list sono polimorfici, cioè possono accettare più tipi di input come atomi, interi e convertirli rispettivamente in stringhe e liste di caratteri.