Я создал простой модуль:
-module(check).
-export([check/0]).
check() ->
Val = 1,
io:format("Value = ~p~n",[Val]).
Код скомпилирован с erlc
.Теперь давайте запустим Erlang:
Erlang R14B (erts-5.8.1) [source] [smp:4:4] [rq:4] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.1 (abort with ^G)
1> check:check().
Value = 1
ok
Если я изменю код, изменит Val на 2 и скомпилирую с erlc
, я ожидаю, что check:check
вернет 2, но это не так:
2> check:check().
Value = 1
ok
Мы получаем тот же результат.Даже если я перезапущу оболочку.
Как заставить Эрланга перезагрузить модуль, не убивая виртуальную машину?