Wie kann ich auch ein element den index, wenn ich grep durch ein array?
Lassen Sie uns sagen, dass ich diese Liste:
my @list = qw(one two three four five);
und ich wollen, greifen Sie alle Elemente, die o
. Ich hätte dieses:
my @containing_o = grep { /o/ } @list;
Aber was würde ich tun, um auch erhalten einen index, oder, um in der Lage sein, um Zugriff auf den index in grep
's Körper?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf List::MoreUtils. Sie können tun, viele praktische Dinge mit arrays zimmerreserviereung, ohne das Sie Rollen Sie Ihre eigene version, außerdem ist es schneller (weil es ist implementiert in C/XS):
Für alle passenden Indizes, und dann Ihre entsprechenden Elemente, die Sie tun können:
oder einfach nur:
indexes
Funktion wird Ihnen eine Liste mit allen Indizes, die true zurück für den block.Dieses füllt 2 arrays mit dem, was Sie wollen, Durchlaufen die input-array einmal: