长生不老药:打印列表和字符串



我想打印一个列表以及一个字符串标识符,例如

list = [1, 2, 3]
IO.puts "list is ", list

这行不通。我尝试了一些变化,例如

# this prints only the list, not any strings
IO.inspect list
# using puts which also does not work
IO.puts "list is #{list}" 

在javascript中,我可以简单地做console.log("list is ", list)。我很困惑我如何在长生不老药中实现同样的目的。

从Elixir 1.4开始,IO.inspect/2接受label选项:

IO.inspect list, label: "The list is"
#⇒ The list is: [1, 2, 3]

也许有更好的方法(我也是Elixir的新手(,但这对我有用:

IO.puts(["list is ", Enum.join(list, " ")])                             
list is 1 2 3

插值也有效:

IO.puts("list is #{Enum.join(list, " ")}")

编辑:对于这个用例,检查似乎比 Enum.join 更好:

IO.puts("list is #{inspect(list)}")
list is [1, 2, 3]

最新更新