Elixir: When to use .ex and when .exs files

后端 未结 3 920
悲哀的现实
悲哀的现实 2020-12-24 04:33

Elixir\'s documentation states that

In addition to the Elixir file extension .ex, Elixir also supports .exs files for scripting. Elixir treats both

3条回答
  •  [愿得一人]
    2020-12-24 05:08

    Elixir will compile the whole .ex file. .exs Files are compiled as well but are meant to be executed when invoked. So, most use cases of .exs files are to execute code immediately when called. Think of using .exs files for testing, migrating data and running scripts. Think of .ex files as being used for your application's main business logic.

    Consider this example

    .ex sample

    sum.ex
    
    defmodule Sum do
      add(a, b) do
         a + b
      end
    end
    

    $ iex sum.ex

    iex> Sum.add(1,2)
    3
    

    .exs sample

    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"
    

提交回复
热议问题