很抱歉,如果这是一个简单的问题,但我对elixir很新,而且我没有erlang背景。
我正在尝试运行以下代码,但它会出错。
~cat foo.ex
defmodule Math do
def add(a, b) do
a + b
IEx.pry
end
end
IO.puts(Math.add(1, 2))
~elixir foo.ex
** (CompileError) foo.ex:5: tried to invoke macro IEx.pry/0 but module was not required. Required: Integer, Kernel, Kernel.Typespec, Record
src/elixir_dispatch.erl:209: :elixir_dispatch.expand_macro_fun/7
src/elixir_dispatch.erl:197: :elixir_dispatch.expand_require/6
src/elixir_dispatch.erl:116: :elixir_dispatch.dispatch_require/6
lists.erl:1329: :lists.mapfoldl/3
lists.erl:1330: :lists.mapfoldl/3
src/elixir_translator.erl:59: :elixir_translator.translate_each/2
lists.erl:1329: :lists.mapfoldl/3
我没有看到任何对该模块的引用:Integer,Kernel,Kernel.Typespec,Record in the docs。所以我不知道如何继续。
我使用的是Elixir 0.11.1-dev
版本。
提前致谢
答案 0 :(得分:4)
在使用之前,您需要明确要求IEx模块:
require IEx
IEx.pry
你应该好好去。