Замена кода Erlang - PullRequest
       6

Замена кода Erlang

3 голосов
/ 24 июня 2011

Я создал простой модуль:

-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

Мы получаем тот же результат.Даже если я перезапущу оболочку.

Как заставить Эрланга перезагрузить модуль, не убивая виртуальную машину?

Ответы [ 2 ]

8 голосов
/ 24 июня 2011

После того, как вы перекомпилируете свой модуль, просто запустите из оболочки:

> l(check).

Это перезагрузит новый модуль, и вы будете готовы к работе.

2 голосов
/ 24 июня 2011

Если вы скомпилировали модуль вне оболочки, вы можете перезагрузить его с помощью:

> l(check).

Если вы хотите как скомпилировать, так и перезагрузить, вы можете сделать:

> c(check).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...