Recuerda que en la informática un problema suele tener diversas resoluciones, pero compartiremos lo más óptimo y mejor.
Solución:
.ex
es para código compilado, .exs
es para código interpretado.
Las pruebas ExUnit, por ejemplo, están en .exs
archivos para que no tenga que volver a compilar cada vez que realice un cambio en sus pruebas. Si está escribiendo guiones o pruebas, utilice .exs
archivos De lo contrario, solo use .ex
archivos y compilar su código.
En cuanto a los pros/contras, la interpretación tardará más en ejecutarse (ya que elixir tiene que analizar, tokenizar, etc.), pero no requiere compilación para ejecutarse. Eso es prácticamente todo: si la flexibilidad de ejecutar scripts es más importante que el tiempo de ejecución optimizado, use .exs
. La mayoría de las veces, usará .ex
.
Elixir compilará todo el archivo .ex. Los archivos .exs también se compilan, pero están destinados a ejecutarse cuando se invocan. Por lo tanto, la mayoría de los casos de uso de los archivos .exs son para ejecutar el código inmediatamente cuando se les llama. Piense en usar archivos .exs para realizar pruebas, migrar datos y ejecutar scripts. Piense en los archivos .ex como si se usaran para la lógica comercial principal de su aplicación.
Considere este ejemplo
muestra .ex
sum.ex
defmodule Sum do
add(a, b) do
a + b
end
end
$ iex suma.ex
iex> Sum.add(1,2)
3
muestra .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"
$ suma elixir.exs
->> "The sum of 3 + 2 is: 5"
Lo compruebo en Elixir versión 1.9.1 y ambas extensiones .ex
, .exs
será compilado con elixirc
. En otras palabras, obtenemos bytecode (.beam
expediente) en ambos casos.
Te mostramos comentarios y valoraciones
Recuerda mostrar este enunciado si te ayudó.