为什么Elixir警告我我的导入未被使用?

sam*_*-am 2 import elixir compiler-warnings

我是Elixir的新手,遇到了这个.这对我没有任何意义,所以我可能会遗漏一些东西.

为什么Elixir给我这个警告:

lib/test.ex:3:警告:未使用的导入

在那个代码上

defmodule Test do
  def run(str) do
    import Poison
    obj = Poison.Parser.parse!(str)
    obj = %{obj | "name" => "bert"}
    obj = %{obj | "alter" =>  "30"}
    Poison.encode!(obj)
  end
end
Run Code Online (Sandbox Code Playgroud)

Ker*_*ael 6

import 用于明确表示您将使用导入的模块函数,而不使用模块名称作为前缀.

http://elixir-lang.org/getting-started/alias-require-and-import.html#import

因此,由于您将这些函数与Poison前缀一起使用,因此import未使用,并且您会收到编译器警告.

  • 简而言之,您可以将“import”更改为“require”,警告就会消失。 (2认同)