如何在ELixir中记录地图/结构类型而不必实现protocol String.Chars?
require Logger
Logger.debug %{my: "map"}
** (Protocol.UndefinedError) protocol String.Chars not implemented for %{my: "map"}
(elixir) lib/string/chars.ex:3: String.Chars.impl_for!/1
(elixir) lib/string/chars.ex:17: String.Chars.to_string/1
Run Code Online (Sandbox Code Playgroud)
ara*_*nku 25
您可以使用inspect/2- https://hexdocs.pm/elixir/Kernel.html#inspect/2
它将数据结构解析为代数文档,可以使用记录器进行打印.
iex(4)> Logger.debug inspect(%{a: 1})
08:47:32.776 [debug] %{a: 1}
:ok
Run Code Online (Sandbox Code Playgroud)
Elixir 编写arathunku 答案的方法是使用管道语法:
iex(3)> %{a: 1} |> inspect() |> Logger.debug()
23:20:30.265 [debug] %{a: 1}
:ok
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3985 次 |
| 最近记录: |