为什么 Elixir 警告我导入未使用?
Why is Elixir warning me that my import is unused?
我是 Elixir 的新手,遇到过这个问题。这对我来说没有任何意义,所以我可能遗漏了一些东西。
为什么 Elixir 给我这个警告:
lib/test.ex:3: warning: unused import
在该代码上
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
import
用于明确表示您将要使用导入的模块函数,而不用模块名称作为前缀。
http://elixir-lang.org/getting-started/alias-require-and-import.html#import
因此,由于您将这些函数与 Poison
前缀一起使用,因此 import
仍未使用,您会收到编译器警告。
要扩大 Kernael 的答案,请按以下方式修改您的代码:
defmodule Test do
import Poison
def run(str) do
obj = Parser.parse!(str)
obj = %{obj | "name" => "bert"}
obj = %{obj | "alter" => "30"}
encode!(obj)
end
end
警告将消失。 (注意:我移动了导入,因为它更符合惯用语,但在您的代码中也可以)。
我是 Elixir 的新手,遇到过这个问题。这对我来说没有任何意义,所以我可能遗漏了一些东西。
为什么 Elixir 给我这个警告:
lib/test.ex:3: warning: unused import
在该代码上
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
import
用于明确表示您将要使用导入的模块函数,而不用模块名称作为前缀。
http://elixir-lang.org/getting-started/alias-require-and-import.html#import
因此,由于您将这些函数与 Poison
前缀一起使用,因此 import
仍未使用,您会收到编译器警告。
要扩大 Kernael 的答案,请按以下方式修改您的代码:
defmodule Test do
import Poison
def run(str) do
obj = Parser.parse!(str)
obj = %{obj | "name" => "bert"}
obj = %{obj | "alter" => "30"}
encode!(obj)
end
end
警告将消失。 (注意:我移动了导入,因为它更符合惯用语,但在您的代码中也可以)。