我想打印一个列表以及一个字符串标识符,例如
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]