我是Elixir的新手,并尝试使用IO.puts将一些内容打印到STDOUT。 IO.puts需要chardata。我查看了Elixir文档,但没有找到将元组转换为位串的方法。我知道必须有一种方法可以做到这一点,但是我还没有发现任何可以做到这一点的BIF。

所以我想将{"foo", "bar", "baz"}转换为"foobarbaz"

我正在学习Elixir和Erlang,因此对我来说,这都是很新的。

提前致谢!

最佳答案

通常,我们使用元组来保存固定数量的数据,这是预先已知的。因此,如果您要打印一个元组的内容,我建议您执行以下操作:

def print_tuple({ foo, bar, baz }) do
  IO.puts foo <> bar <> baz
end

如果要打印的元组具有动态大小,则很有可能要使用列表。您可以使用许多函数将列表的元素转换为二进制文件,例如Enum.join/2:
IO.puts Enum.join(list)

如果绝对确定要打印元组内容,则可以执行以下操作:
IO.puts Enum.join(Tuple.to_list(tuple))

请记住,您可以使用IO.inspect/1打印任何Elixir数据结构。

关于types - 如何将Elixir元组转换为位串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19572474/

10-11 22:40
查看更多