. -, , , , Erlang. , , .
-module(test_module, [Param1]).
some_method() -> Param1.
-module(test_non_paramatized_module).
some_method(Param1) -> Param1.
, Erlang .
name ( , gen_servers, ) start_link.
start_link(Name) -> gen_server:start_link({local, Name}, ?MODULE, [Name], []).
, gen_server :
-module(some_module, [Param1, Param2]).
start_link() ->
PModule = ?MODULE:new(Param1, Param2),
gen_server:start_link(PModule, [], []).
Param1 Param2 gen_server.
Zed, start_link , :
Instance = some_module:new(Param1, Param2),
Instance:start_link().
, - , some_module:new/n, . , some_module:new/n, some_module . , , , . (some_module /), some_module. grep some_module:start_link.
gen_servers gen_server:start_link/3,4 , ?MODULE:init/1 callack.
-module(good_style).
-record(state, {param1, param2}).
start_link(Param1, Param2) ->
gen_server:start_link(?MODULE, [Param1, Param2], []).
init([Param1, Param2]) ->
{ok,
, OTP, ( ). , gen_server, .
. code_change/3, . gen_server.