recompileでプロジェクト全体を、r Module.Nameで指定したモジュールのみを再コンパイルすることができます。
以下実行例:
# hoge.ex
defmodule Hoge do
def hoge, do: IO.puts "hogeeee"
end
このhoge.exをロードする。
iex(3)> c("hoge.ex")
[Hoge]
iex(4)> Hoge.hoge
hogeeee
:ok
その後、hoge.exを以下のように編集。
defmodule Hoge do
def hoge, do: IO.puts "fugaaaaaa"
end
これをrで再読み込み。
iex(6)> r Hoge
warning: redefining module Hoge (current version defined in memory)
hoge.ex:1
{:reloaded, Hoge, [Hoge]}
iex(7)> Hoge.hoge
fugaaaaaa
:ok
なお、iex -S mixで起動している場合は、recompileでmixのプロジェクト全体を再コンパイルできます。