[ruby-it] Campagna anti-if
David Welton
davidnwelton a gmail.com
Mer 5 Dic 2007 16:00:21 CET
Mi sembra un esempio banale di un if superfluo. Direi che senza
pattern matching, eliminarli davvero e` un po' difficile. In un
linguaggio come Erlang, con pattern matching, la presenza di un if e`
quasi sempre sospetto. Anche se... il pattern matching con le
funzioni a volte mi sembra un po' contrario al 'dont repeat yourself',
perche` finisci per ripeterti molto in alcuni casi:
Per esempio:
handle_call({get, Keys}, _From, #state{sock = Sock} = S) ->
Reply = process_get(Sock, Keys),
{reply, Reply, S#state{sock = Sock}};
handle_call({set, Operation, Key, Flags, Expire, Bytes}, _From,
#state{sock = Sock} = S) ->
Reply = process_set(Sock, Operation, Key, Flags, Expire, Bytes),
{reply, Reply, S#state{sock = Sock}};
handle_call({delete, Key, Time}, _From, #state{sock = Sock} = S) ->
Reply = process_delete(Sock, Key, Time),
{reply, Reply, #state{sock = Sock} = S};
handle_call(quit, _From, #state{sock = Sock} = _) ->
gen_tcp:close(Sock),
{reply, ok, {}}.
Saluti,
--
David N. Welton
http://www.welton.it/davidw/
http://www.dedasys.com/
Maggiori informazioni sulla lista
Ml