药剂的文档指出的是
除了Elixir文件扩展名.ex之外,Elixir还支持.exs文件进行脚本编写。Elixir对两个文件的处理方式完全相同,唯一的区别在于意图。.ex文件旨在在将.exs文件用于脚本编写时进行编译,而无需进行编译。
但是我仍然不确定何时使用哪种文件类型。.ex和.exs的缺点和目的是什么?
药剂的文档指出的是
除了Elixir文件扩展名.ex之外,Elixir还支持.exs文件进行脚本编写。Elixir对两个文件的处理方式完全相同,唯一的区别在于意图。.ex文件旨在在将.exs文件用于脚本编写时进行编译,而无需进行编译。
但是我仍然不确定何时使用哪种文件类型。.ex和.exs的缺点和目的是什么?
Answers:
Elixir将编译整个.ex文件。.exs文件也可以编译,但是可以在调用时执行。因此,.exs文件的大多数使用情况是在被调用时立即执行代码。考虑使用.exs文件进行测试,迁移数据和运行脚本。将.ex文件视为用于应用程序的主要业务逻辑。
考虑这个例子
.ex示例
sum.ex
defmodule Sum do
add(a, b) do
a + b
end
end
$ iex sum.ex
iex> Sum.add(1,2)
3
.exs示例
sum.exs
defmodule Sum do
def add(a,b) do
a + b
end
end
#within same file
IO.puts "The sum of 3 + 2 is: #{inspect Sum.add(3, 2}"
$ elixir sum.exs
->> "The sum of 3 + 2 is: 5"