Erlang:生成列表中的奇怪字符

rks*_*rks 2 erlang list-comprehension

试图通过理解生成一个列表,在某些时候我开始看到奇怪的字符串.无法解释他们在这一点上的存在(猜测转义字符是ASCII码 - 但为什么?):

45> [[round(math:pow(X,2))] ++ [Y]|| X <- lists:seq(5,10), Y <- lists:seq(5,10)].                                     
[[25,5],
 [25,6],
 [25,7],
 [25,8],
 [25,9],
 [25,10],
 [36,5],
 [36,6],
 [36,7],
 "$\b","$\t","$\n",
 [49,5],
 [49,6],
 [49,7],
 "1\b","1\t","1\n",
 [64,5],
 [64,6],
 [64,7],
 "@\b","@\t","@\n",
 [81,5],
 [81,6],
 [81,7],
 "Q\b",
 [...]|...]
Run Code Online (Sandbox Code Playgroud)

mpm*_*mpm 5

在Erlang中,所有字符串都只是小整数列表(如C中的字符).和shell帮助你尝试将任何列表解释为可打印字符串.所以你得到的是数字,它们只是以你不会想到的方式打印出来.

如果您想要更改此行为,可以查看此答案.