Jos*_*lim 21
通常我们使用元组来保存预先知道的固定数量的数据.所以如果你想打印一个元组的内容,我建议你这样做:
def print_tuple({ foo, bar, baz }) do
IO.puts foo <> bar <> baz
end
Run Code Online (Sandbox Code Playgroud)
如果要打印的元组具有动态大小,则很可能要使用列表.您可以使用许多函数将列表的元素转换为二进制,例如Enum.join/2:
IO.puts Enum.join(list)
Run Code Online (Sandbox Code Playgroud)
如果您完全确定要打印元组内容,可以执行以下操作:
IO.puts Enum.join(Tuple.to_list(tuple))
Run Code Online (Sandbox Code Playgroud)
请记住,您可以使用打印任何Elixir数据结构IO.inspect/1.
小智 8
Enum.join创建一个由列表的连续元素组成的位串.首先将元组转换为列表.使用的|>(管道)运算符可以提高可读性:
{"foo", "bar", "baz"} |> Tuple.to_list |> Enum.join # "foobarbaz"
Run Code Online (Sandbox Code Playgroud)
您还可以指定分隔符:
{"foo", "bar", "baz"} |> Tuple.to_list |> Enum.join(", ") # "foo, bar, baz"
Run Code Online (Sandbox Code Playgroud)