使用shell脚本调用Elixir方法

Lah*_*iru 3 elixir

defmodule MyModule do
   def print do
        IO.puts "hi all"
    end
end
Run Code Online (Sandbox Code Playgroud)

这是MyModule.erl中包含的Elixir模块

iex MyModule.erl
MyModule.print
Run Code Online (Sandbox Code Playgroud)

我试图使用shell脚本运行elixir方法.它编译文件但是

iex MyModule.erl
Run Code Online (Sandbox Code Playgroud)

没有运行.我认为这是因为第一个命令转到Erlang虚拟机.如何调用此方法?

Jos*_*lim 12

Elixir文件通常具有.ex扩展名.如果您不打算编译它,我们建议使用.exs文件.我们在入门指南中介绍了这些差异.

假设您将上面的文件写入"mod.exs",实现您想要的方法之一是:

elixir -r mod.exs -e "MyModule.print"
Run Code Online (Sandbox Code Playgroud)