J'ai une liste de tuples par exemple. [{1,40}, {2,45}, {3,54} .... {7,23}] où 1 ... 7 sont des jours de la semaine (calculés en recherchant le calendrier: day_of_the_week()). Alors maintenant je veux changer la liste à [{Mon, 40}, {Mar, 45}, {Mer, 54} ... {Sun, 23}]. Y at-il un moyen plus simple de le faire que des listes: keyreplace?Remplacer les clés dans un tuple dans Erlang
7
A
Répondre
3
Simple. Utilisez la carte et un outil pratique du module httpd.
lists:map(fun({A,B}) -> {httpd_util:day(A),B} end, [{1,40},{2,45},{3,54},{7,23}]).
13
... ou en utilisant une syntaxe différente:
[{httpd_util:day(A), B} || {A,B} <- L]
où:
L = [{1,40},{2,45},{3,54}....{7,23}]
La construction est appelée list comprehension, et se lit comme:
"Construire une liste de
{httpd_util:day(A),B}
tuples, où{A,B}
provient de la listeL
"