Erlang Language elenchi


Esempio

Una lista in Erlang è una sequenza di zero o più termini di Erlang, implementata come una lista concatenata. Ogni elemento nell'elenco può essere qualsiasi tipo di termine (qualsiasi tipo di dati).

1> [1,2,3].
[1,2,3]
2> [wow,1,{a,b}].     
[wow,1,{a,b}]

La testa della lista è il primo elemento della lista.

La coda della lista è il resto della lista (senza la testa). È anche una lista.
Puoi usare hd/1 e tl/1 o confrontare con [H|T] per ottenere la testa e la coda dell'elenco.

3> hd([1,2,3]).
1
4> tl([1,2,3]).
[2,3]
5> [H|T] = [1,2,3].
[1,2,3]
6> H.
1
7> T.
[2,3]

Prependendo un elemento a un elenco

8> [new | [1,2,3]].
[new,1,2,3]

Elenchi concatenanti

9> [concat,this] ++ [to,this].
[concat,this,to,this]

stringhe

In Erlang, le stringhe non sono un tipo di dati separato: sono solo elenchi di numeri interi che rappresentano punti di codice ASCII o Unicode:

> [97,98,99].
"abc"
> [97,98,99] =:= "abc".
true
> hd("ABC").
65

Quando la shell di Erlang stamperà una lista, cercherà di indovinare se si intende effettivamente che si tratti di una stringa. Puoi disattivare questo comportamento chiamando shell:strings(false) :

> [8].
"\b"
> shell:strings(false).
true
> [8].
[8]

Nell'esempio sopra, il numero intero 8 viene interpretato come il carattere di controllo ASCII per il backspace, che la shell considera un carattere "valido" in una stringa.