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.