новости сообщество форум вики полезно

SeqBind - упрощаем работу с одинаковыми переменными

05/02/2012 12:26

Думается, многих раздражает ситуация, когда приходится писать подобный код:

 L1 = lists:map(fun (X) -> ... end, L),
 L2 = lists:filter(fun (X) -> ... end, L1)
 %% или
 {Q,Req1} = cowboy_http_req:qs_val(<>,Req),
 {Id,Req2} = cowboy_http_req:qs_val(<>,Req1)

Есть несколько решений для проблемы именами переменных. Юрий Рашковский предлагает использовать parse_transform. 

Пример использования его parse_transform'а SeqBind:

-compile({parse_transform,seqbind}).

L@ = lists:map(fun (X) -> ... end, L@),
L@ = lists:filter(fun (X) -> ... end, L@)
%% или
{Q,Req@} = cowboy_http_req:qs_val(<>,Req@),
{Id,Req@} = cowboy_http_req:qs_val(<>,Req@)

Сама иблиотека и примеры использования - на GitHub'е: https://github.com/spawngrid/seqbind


 
 
 
 

так же

Ссылки

Авторы

twitter