gpt4 book ai didi

erlang - erlang列出:dropwhile weird result

转载 作者:行者123 更新时间:2023-12-04 13:28:29 25 4
gpt4 key购买 nike

有人可以帮我了解这里发生的事情吗

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

最佳答案

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

您始终可以使用以下命令打印实际的整数列表

MyList = lists:dropwhile(fun(X) -> X < 8 end, lists:seq(1,10)),
io:format("~w", [MyList]).

关于erlang - erlang列出:dropwhile weird result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10043141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com