我编写了一个简单的函数来将数组拆分为2个部分。
split([], [], []) -> [[], []];
split([], [], Part2) -> [[], Part2];
split([], Part1, []) -> split([], [], Part1);
split([], Part1, Part2) -> [Part1, Part2];
split([Head | Tail], Part1, Part2) -> split(Tail, Part2, [Head | Part1]).
我试着玩我的功能,我遇到了一个很大的问题,见下图。该函数适用于很多示例,但如果用于输入[4,9,2],[],[]
,我得到以下奇怪的结果["\t",[2,4]]
。
问题出在哪里? 谢谢你的回答和时间。
答案 0 :(得分:0)
这是erlang的行为:
8> [9].
"\t"
9> ["\t"].
["\t"]
这是因为,从erlang的POV来看,字符串只是一系列数字。如果数字对应于可打印字符,则erlang将尝试将数字打印为字符。