我是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
答案 0 :(得分:6)
import
用于明确表示您将使用导入的模块函数,而不使用模块名称作为前缀。
http://elixir-lang.org/getting-started/alias-require-and-import.html#import
因此,由于您使用带有Poison
前缀的这些函数,import
仍然未使用,并且您收到编译器警告。
答案 1 :(得分:1)
要放大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
警告将消失。 (注意:我移动了导入,因为它稍微更惯用,但是你的代码中也很好用。)