【问题标题】:Erlang: How does one avoid Lists being translated to ASCII Strings?Erlang:如何避免将列表转换为 ASCII 字符串?
【发布时间】:2011-04-19 11:38:26
【问题描述】:

[97, 98, 99]。在 Erlang shell 中产生“abc”。我意识到这是因为 a、b 和 c 的 ASCII 值分别是 97、98 和 99。

那么.. 如果没有 Erlang 将其转换为 ASCII,如何返回 [97,98,99]?

【问题讨论】:

  • 请注意:重要的是要意识到“abc”和 [97,98,99]完全是一回事。您只是以两种不同的方式解释相同的数据,而 Erlang shell 解释此数据的一种方式是作为 ASCII 字符串。我明白你的意思,只是想让它清楚:)

标签: list erlang ascii


【解决方案1】:

您可以尝试io:format("~w~n", [ListHere]),它应该可以避免解释数据。

【讨论】:

  • io:format("~w~n", [97,98,99]) 为我带来了错误。你是这个意思吗?
  • List = [97,98,99], io:format("~w~n", [List]). 表示io:format("~w~n", [[97,98,99]]).
【解决方案2】:

试试这个

你的清单 ++ [0]

带“abc”

"abc" ++ [0]

[97,98,99,0]

【讨论】:

  • 这不是一个好主意 :) 操纵数据只是为了不翻译? :) 不要这样做......对不起,好的先生。
  • @Mazen - 我们只是在谈论 Shell (REPL)。如果有人想将 [0] 附加到他们在 shell 中评估的表达式,我说不犯规。只是不要像那样将这个表达式复制到你的源代码中。
猜你喜欢
  • 2014-11-16
  • 2015-04-20
  • 2018-08-23
  • 2011-07-17
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
相关资源
最近更新 更多