Erlang列出的单个数字超过8?

时间:2011-09-10 13:20:24

标签: list erlang

以某种奇怪的方式,列表中的所有8号以上的数字都成为某种ascii? [8] - > [ “\ B”]

请尽量帮助我:)

3 个答案:

答案 0 :(得分:8)

String不是Erlang中的数据类型,它只是一个整数列表。但是如果可能的话,Erlang shell会尝试将列表显示为字符串:

1> S = [65, 66, 67, 68, 69, 70].
"ABCDEF"
2> S = "ABCDEF".
"ABCDEF"
3> io:write(S).
[65,66,67,68,69,70]ok
4> [65, 66].
"AB"
5> [65, 66, 1].
[65,66,1]

答案 1 :(得分:1)

用~w代替~p打印 你的问题应该消失。

~p尝试将列表中的元素解释为ascii。 ~W不

答案 2 :(得分:0)

来自文档:http://www.erlang.org/doc/reference_manual/data_types.html

2.11字符串

字符串用双引号(“)括起来,但不是Erlang中的数据类型。而是字符串”hello“是列表的简写[$ h,$ e,$ l,$ l,$ o],那是[104,101,108,108,111]。

两个相邻的字符串文字连接成一个。这是在编译时完成的,不会产生任何运行时开销。例如:

“string”“42”

相当于

“string42”