Thread '3,6-10,16,23' in (3,6,7,8,9,10,16,23) umwandeln
(12 answers)
Opened by mixxer at 2019-08-22 22:28 2019-08-23T23:45:17 mixxer Ganz richtig: Da gibt es individuell verschiedene Grenzen, wie weit man die "funktionale Programmierung" hier strapazieren will. Man verliert dabei die Möglichkeit, den Zwischenergebnissen sinnvolle Variablennamen zuzuweisen: Während bei sort klar ist, dass das Ergebnis eine sortierte Liste ist, sagt map nicht wirklich, was es mit den Listen treibt. Wenn man da Jahre später feststellt, dass Fälle wie '09-10,09' nicht wie gewünscht behandelt werden und sich nochmal reinwühlen muss... :) Ein Satz Klammern kann übrigens wegfallen: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sub _text_to_list # { my $string = shift; $string =~ s/\s+//g; return [ sort { $a <=> $b } keys %{ { map { $_ => $_ } map { /^(\d+)-(\d+)$/ ? ( $1 .. $2 ) : /^0*(\d+)$/ ? ($1) : () } split( ',', $string ) } } ]; } |