Filtrar elementos de una matriz con elementos de otra matriz en Perl 6
Quiero filtrar elementos de@array
que comienzan con elementos de@search
:
my @array = "aaaaa" .. "fffff";
my @search = "aaaa" .. "cccc";
.put for @array .grep: /^ @search /;
El problema es que lleva 19 segundos. Asiqueprecompilar elregex
paragrep
, y todo el programa se ve así:
my @array = "aaaaa" .. "fffff";
my @search = "aaaa" .. "cccc";
my $search = "/@search.join('|')/".EVAL;
.put for @array .grep: * ~~ /^ <$search> /;
Ahora toma 0.444s.
La pregunta: ¿hay un método Perl 6 incorporado para hacer tales cosas? Algo así como insertar unjunction
en unaregex
...