等效的IO.inspect函数只返回字符串而不是打印给定列表,地图或关键字列表?

Abh*_*k S 25 elixir

Elixir新手在这里.我一直在尝试将KeywordList转换为字符串.我可以这样做

IO.inspect([name: "John Doe"])
Run Code Online (Sandbox Code Playgroud)

但它将字符串打印到控制台.是否有一个只返回字符串的函数?

Jos*_*lim 36

inspect([name: "John Doe"])
Run Code Online (Sandbox Code Playgroud)

它由内核模块定义,因此会自动导入.

  • 但请注意,IINM、“IO.inspect”默认情况下会打印得很漂亮。默认情况下 `Kernel.inspect` 不会。因此,要在终端上获得相当于“IO.inspect”的内容,您需要“IO.puts(inspect(<thing>, Pretty: true))”。此外,在这两种情况下,只有当结果字符串超过 80 个字符时,漂亮的打印才会生效,如果您希望较小的检查也很漂亮,您可以在 `pretty: true` 之后传递 `, width: 0`。 (2认同)