Thread Komplizierte Sortierung
(3 answers)
Opened by cbxk1xg at 2009-04-22 19:58
schneller hack (aber getestet):
Code (perl): (dl
)
1 2 3 4 5 6 7 8 my @sorted = map { $_->[1] } sort { $a->[0] cmp $b->[0] } map { my $index = m{(.*)/index_de.htm$}i ? $1 : $_; [$index, $_] } @list; nennt sich schwartzian transform (optimierung, kann man aber auch in der sortier-funktion selber machen, ich finds aber so auch lesbarer). also alle die index_de.html am ende haben, sollen in der sortierung so behandelt werden, als wäre das index_de.html gar nicht da - also legt man eine arrayref an mit dem veränderten string und vergleicht dann diesen statt des originalstrings, und holt sich im zweiten map (das im code als erstes steht), den originalstring wieder zurück. Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: ![]() ![]() |