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

时间:2014-10-17 12:51:18

标签: 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",
 [...]|...]

1 个答案:

答案 0 :(得分:5)

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

如果您想更改此行为,可以查看this answer

相关问题