[erlang-questions] What does it mean when an evaluated expression is a list that contains the pipe character?
Gordon Guthrie
gguthrie@REDACTED
Tue Feb 24 16:52:16 CET 2015
Cole
It’s an improper list.
A proper list ends with a tail of [].
So to make a proper list you would do:
> [1, 2 | [3]].
[1, 2, 3].
(This has an implied final cell of an empty list)
Gordon
> Le 24 févr. 2015 à 15:37, Cole Fichter <cole.fichter@REDACTED> a écrit :
>
> I came across the example:
>
> > [1,2|3].
> [1,2|3]
>
> I understand that the pipe character, |, can be used to append an item to the head of the list or to pop an item off the list in a pattern match.
>
> But what exactly is happening in the example above? Why does the evaluated expression still contain the pipe?
>
> My best guess is that the final expression results in a match specification that could be used in a pattern match. However, that seems strange too because if so, we'd be popping two items off the list, which should be illegal.
>
> Can someone shed some light?
>
> Thanks!
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
More information about the erlang-questions
mailing list