According to the Erlang documentation : A string is a list of codepoints, binaries with UTF-8-encoded codepoints (UTF-8 binaries), or a mix of the two.
"abcd" % is a valid string
<<"abcd">> % is a valid string
["abcd"] % is a valid string
<<"abc..åäö"/utf8>> % is a valid string
<<"abc..åäö">> % is NOT a valid string,
% but a binary with Latin-1-encoded codepoints
[<<"abc">>, "..åäö"] % is a valid string
[atom] % is NOT a valid string
So in above you got integer 11 inside a list or [11] :
Eshell V8.3 (abort with ^G)
1> [A+B || [A, B] <- [1, 2, 3, [5, 6]]].
"\v"
%% With hd/1 function you can get first element (head) of a list
2> hd([A+B || [A, B] <- [1, 2, 3, [5, 6]]]).
11
3> [11].
"\v"
Erlang VM prints a printable list in form of string. Currently it supports two printable range. latin1 which is default and unicode .
1条答案
按热度按时间mbjcgjjk1#
According to the Erlang documentation :
A string is a list of codepoints, binaries with UTF-8-encoded codepoints (UTF-8 binaries), or a mix of the two.
So in above you got integer 11 inside a list or
[11]
:Erlang VM prints a printable list in form of string. Currently it supports two printable range.
latin1
which is default andunicode
.You can change
latin1
tounicode
using +pc flag: