Elixir files
Elixir uses two files, .ex for compiled code and .exs for scripts. They must both be UTF-8 encoded. We will go over .ex some more when we introduce mix in the next chapter. But for now, let's discuss .exs a little more.
We can write all the Elixir code we have shown so far into a script (we won't though, there is just a small subset) and then we can use the interactive interpreter to load up our script and run it.
For example, we can put the MyMap code from earlier into a script:
defmodule MyMap do
def map([], _) do
[]
end
def map([h|t], f) do
[f.(h) | map(t, f)]
end
end
square = fn x -> x * x end
MyMap.map([1, 2, 3, 4, 5], square)Go ahead and save it as mymap.exs. Launch a terminal and use the cd command to navigate to the directory that you saved your script in and then launch iex.
Once in iex, we will use import_file/1 to import and launch our script.
In your iex, type h(import_file/1) to get the documentation of import_file/1:
iex(1)> h(import_file...