functional programming - How can I handle Account Number in erlang? -


i'm making bank account management system using ets hold current , savings account, i'm unable figure out how can generate , retain series of account numbers since erlang variables immutable.

so how can implement function generate , save account number next time account created allocates next account number previous one?

you can create process keep current number in state. obtain next number have send message process , returns next number , save in state. that's example of implementation gen_server:

-module(acc_number). -behavior(gen_server).  -export([start_link/0, get_number/0]). -export([init/1, handle_call/3]).  -define(server, ?module).  -record(state, {number}).  start_link() ->     gen_server:start_link({local, ?server}, ?module, [], []).  get_number() ->     gen_server:call(?server, get_number).  init([]) ->     {ok, #state{number = 0}}.  handle_call(get_number, _from, #state{number = number}) ->     nextnumber = number + 1,     {reply, nextnumber, #state{number = nextnumber}}. 

note: in example implemented callbacks used solve task. have implement callback of gen_server.

so obtain next number can this:

acc_number:start_link(). accountnumber = acc_number:get_number(). 

Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -