Skip to content

Commit

Permalink
Reto mouredev#48 - Perl
Browse files Browse the repository at this point in the history
  • Loading branch information
joaquinferrero committed Dec 19, 2023
1 parent 10c2ef8 commit 4e717f1
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
5 changes: 3 additions & 2 deletions Retos/Reto #48 - EL RANKING [Difícil]/perl/joaquinferrero.pl
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,20 @@
# - También se debe de mostrar el número de usuarios que han participado
# y el número de correcciones enviadas.
#
# Joaquín Ferrero, 20231212
# Joaquín Ferrero, 20231219
#
use v5.10;
use Path::Tiny;

say "Lista de ejercicios resueltos por usuario";

my $iter = path("../../")->iterator({recurse => 1});
my $iter = path(".")->iterator({recurse => 1});

my $total_correcciones;
while ($path = $iter->()) {
# extraemos de la ruta el nombre del usuario
next if $path !~ m[\]/\S+?/(?<name>.+?)[.].{1,6}$];
next if $+{name} eq 'ejercicio';
# Contamos una participación más de ese usuario
$veces{$+{name}}++;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# - También se debe de mostrar el número de usuarios que han participado
# y el número de correcciones enviadas.
#
# Joaquín Ferrero, 20231212
# Joaquín Ferrero, 20231219
#
use v6;
use Path::Finder;
Expand All @@ -22,11 +22,12 @@ say "Lista de ejercicios resueltos por usuario";
my @archivos = Path::Finder.path(/ Reto \s . \d+ /).file.in("../../");

# De los archivos nos quedamos con su nombre, menos la extensión, y los metemos al saco
my $saco = @archivos.map({ (.basename.split(/\./))[0] }).Bag;
# menos los archivos "ejercicio"
my $saco = @archivos.map({ (.basename.split(/\./))[0] }).grep({ $_ ne "ejercicio" }).Bag;

# Del saco imprimimos los elementos ordenados por número de participaciones,
# y por orden alfabético en caso de empate
$saco.pairs.sort({ -$_.value, $_.key })».&{ say $_.value, "\t", $_.key };
$saco.pairs.sort({ -$_.value, $_.key })».&{ say .value, "\t", .key };

# Totales
say "-" x 40;
Expand Down

0 comments on commit 4e717f1

Please sign in to comment.