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
