Thread Programmierstilfrage - "given - when"
(4 answers)
Opened by Kuerbis at 2012-03-31 18:41
In diesem einfachen Beispiel hat es funktioniert.
Auf deiner verwiesen Seite habe ich zwei Alternativen gefunden: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 given ( $c ) { when ( 'a' ) { say 'a'; } when ( 'b' ) { say 'b'; } when ( $extra == 1 and $c eq 'd' ) { say 'd'; } when ( $extra == 1 and $c eq 'e' ) { say 'e'; } when ( 'z' ) { say 'z'; } default { say 'something else'; } } Diese Art finde ich schwerer zu warten und ist vermutlich langsamer. Die zweite Alternative: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 given ( $c ) { when ( 'a' ) { say 'a'; } when ( 'b' ) { say 'b'; } when ( $extra == 1 ) { when ( 'd' ) { say 'd'; } when ( 'e' ) { say 'e'; } continue; } when ( 'z' ) { say 'z'; } default { say 'something else'; } } Dabei finde ich, dass man mit einem if Statement die Stelle schneller findet/besser erkennen kann. Außerdem kann man das continue nicht vergessen. |