我在哪里将模块放入Elixir混合应用程序中?

时间:2017-03-03 15:54:51

标签: elixir

我有一个简单的项目,我已经开始调用测试。所以我做了:

Style

我得到了通常的目录树。在lib目录中,是test.ex.但我希望test.ex使用一个名为Mystuff的模块,但我不知道在哪里放mystuff.ex因为我遇到了编译错误。

这是test.ex(在test / lib目录中):

mix new test

这里是mystuff.ex,我也包含在test / lib中:

defmodule Test do

  use Mystuff

  @moduledoc """
  Documentation for Test.
  """

  @doc """
  Hello world.

  ## Examples

      iex> Test.hello
      :world

  """
  def hello do
    Mystuff.bye()
  end
end

然而,如果我跑" iex -S mix"从项目的主目录(测试)我得到:

defmodule Test.Mystuff do
  def bye do
    IO.puts "bye"
  end
end

所以我说错了什么?用错了什么?将东西放在错误的目录中?

1 个答案:

答案 0 :(得分:0)

use Mystuff替换为alias Test.Mystuff