Aplatir vos tableaux
flat_map
défini dans Enumerable
fait 2 choses :
- Elle transforme les données comme
map
- Elle « aplatit » d’un niveau le résultat de chaque transformation si c’est un tableau
Tout comme map
a un alias collect
, flat_map
a un alias collect_concat
!
flatten
est lui défini pour Array
et Hash
et ne fait qu’une chose, il « aplatit » les tableaux, mais la profondeur est paramétrable. Pour Array
, la profondeur par défaut est illimitée, pour Hash
, elle est de 1 ! Une valeur négative indique une profondeur illimitée.
L’utilisation de l’un ou l’autre dépendra du contexte. Cependant le cas courant concerne 1 niveau, et alors flat_map
est en moyenne 2 fois plus performant que map { ... }.flatten
.
Les liens vers la documentation Ruby de flat_map
, Hash#flatten
et Array#flatten
.