gpt4 book ai didi

elixir - 在 Elixir 中打印为字符串的整数列表

转载 作者:行者123 更新时间:2023-12-03 16:45:17 29 4
gpt4 key购买 nike

我正在尝试使用 Enum.map .当我向列表的所有元素添加 100 时,我发现了这个奇怪的输出。

Terminal Screenshot

为什么会有这样的输出?事实证明,当我添加 100 时,我得到了一个字符串,但是当我执行其他操作时效果很好。我又摆弄了一些,我仍然得到了这样的意外结果。

Terminal Screenshot 2

最佳答案

您看到的值 'efgh'不是字符串而是 Charlist .

你的语句的结果应该是 [101, 102, 103, 104] (实际上是),但它不会以这种方式输出。列表中的四个值映射到 e , f , gh在 ASCII 中,所以 iex只是打印他们的 codepoints而不是列表。如果列表包含无效字符(例如 0 或 433,如您的情况),则将其保留为简单列表。

来自 Elixir 的 Getting Started guide :

A char list contains the code points of the characters between single-quotes (note that by default IEx will only output code points if any of the chars is outside the ASCII range).



两者 'efgh'[101, 102, 103, 104]在 Elixir 中是相等的,并证明你可以强制 inspect将它们打印为列表:

[101, 102, 103, 104] == 'efgh'
#=> true

[101, 102, 103, 104] |> inspect(charlists: :as_lists)
#=> [101, 102, 103, 104]

您还可以将 IEx 配置为始终将字符列表打印为列表:

IEx.configure(inspect: [charlists: :as_lists])

关于elixir - 在 Elixir 中打印为字符串的整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40324929/

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