Elixirs文档声明
除了Elixir文件扩展名.ex之外,Elixir还支持.exs文件以进行脚本编写.Elixir以完全相同的方式处理两个文件,唯一的区别在于意图..ex文件用于编译,而.exs文件用于编写脚本,无需编译.
但我仍然不确定何时使用哪种文件类型..ex和.exs的缺点和目的是什么?
Cod*_*oll 129
.ex用于编译代码,.exs用于解释代码.
例如,ExUnit测试位于.exs文件中,因此您不必在每次更改测试时重新编译.如果您正在编写脚本或测试,请使用.exs文件.否则,只需使用.ex文件并编译代码.
就优点/缺点而言,解释将花费更长的时间来执行(因为长生不老药必须解析,标记化等),但不需要编译才能运行.这就是它 - 如果运行脚本的灵活性比优化的执行时间更重要,请使用.exs.大多数时候,你会使用.ex.
小智 8
Elixir 将编译整个 .ex 文件。.exs 文件也被编译,但旨在在调用时执行。因此,.exs 文件的大多数用例是在调用时立即执行代码。考虑使用 .exs 文件进行测试、迁移数据和运行脚本。将 .ex 文件视为用于应用程序的主要业务逻辑。
考虑这个例子
.ex 样本
sum.ex
defmodule Sum do
add(a, b) do
a + b
end
end
Run Code Online (Sandbox Code Playgroud)
$ iex sum.ex
iex> Sum.add(1,2)
3
Run Code Online (Sandbox Code Playgroud)
.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}"
Run Code Online (Sandbox Code Playgroud)
$ 长生不老药 sum.exs
->> "The sum of 3 + 2 is: 5"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11678 次 |
| 最近记录: |