erlang列表:dropwhile奇怪的结果

erlang列表:dropwhile奇怪的结果,erlang,list-comprehension,Erlang,List Comprehension,有人能帮我理解这里发生了什么吗 lists:dropwhile(fun(X) -> X < 8 end, lists:seq(1,10)). "\b\t\n" % ??? what is this ? why not [8,9,10] lists:dropwhile(fun(X) -> X < 7 end, lists:seq(1,10)). [7,8,9,10] % this is correct list:dropwhile(fun(X)->XXX

有人能帮我理解这里发生了什么吗

lists:dropwhile(fun(X) -> X < 8 end, lists:seq(1,10)).

"\b\t\n" % ??? what is this ? why not [8,9,10]

lists:dropwhile(fun(X) -> X < 7 end, lists:seq(1,10)).  

[7,8,9,10] % this is correct
list:dropwhile(fun(X)->X<8结束,list:seq(1,10))。
“\b\t\n”%???这是什么?为什么不[8,9,10]
列表:dropwhile(fun(X)->X<7结束,列表:seq(1,10))。
[7,8,9,10]%这是正确的

在这两种情况下,您的结果实际上都是正确的。第一种情况下的意外字符串 这是因为在Erlang中,字符串只是整数列表。因此,Erlang选择将第一个列表解释为字符串,因为它只包含可打印的ASCII代码。在第二种情况下,列表包含不可打印的代码7,因此Erlang被迫将其解释为整数列表

始终可以使用打印实际整数列表

MyList = lists:dropwhile(fun(X) -> X < 8 end, lists:seq(1,10)),
io:format("~w", [MyList]).
MyList=list:dropwhile(fun(X)->X<8结束,list:seq(1,10)),
io:格式(“~w”,[MyList])。

谢谢你的解释,这就解释了为什么这个
[68,97,121,97]。
是Dayasorry,我对这个网站还是新手,我不想忽视你的答案。这确实解决了我的问题,别担心。很高兴我能帮忙。:)