Substituir as chaves em uma tupla em Erlang
Pergunta
Eu tenho uma lista de tuplas por exemplo. [{1,40}, {2,45}, {3,54} .... {7,23}] onde 1 ... 7 são os dias da semana (calculado encontrando calendário: DAY_OF_THE_WEEK ()). Então agora eu quero mudar a lista para [{Mon, 40}, {Tue, 45}, {Wed, 54} ... {Sun, 23}]. Existe uma maneira mais fácil de fazer isso do que listas:? Keyreplace
Solução
Simples. Use mapa e uma ferramenta útil do httpd módulo.
lists:map(fun({A,B}) -> {httpd_util:day(A),B} end, [{1,40},{2,45},{3,54},{7,23}]).
Outras dicas
... ou usar uma sintaxe diferente:
[{httpd_util:day(A), B} || {A,B} <- L]
Onde:
L = [{1,40},{2,45},{3,54}....{7,23}]
A construção é chamado de compreensão da lista , e lê como:
"Criar uma lista de tuplas
{httpd_util:day(A),B}
, onde{A,B}
sejam retiradas da listaL
"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow