Thread Umgang mit referenzierten Arrays: Schön schreiben No. 2
(8 answers)
Opened by Sven_123 at 2011-09-30 11:50
das sieht alles wahnsinnig umständlich und leider auch unleserlich aus.
du soltest deinem code hier und da ein paar leerzeichen gönnen. die kosten nix. bei deiner referenz-variante benutzt du auch eine referenz zuviel. $vars{'gradient'}{$mode} ist schon eine referenz. und warum erstellst du eine variable $curr_grad, wenn du sie dann nur fürs print benutzt und nicht fürs befüllen? Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; # Referenz { my %vars; my $mode = 1; my $curr_grad = $vars{gradient}->{$mode}; # ...tu was... # $vars{gradient}->{1} = [ [1, 1, 1], [1, 2, 3] ]; @$curr_grad = ( [1, 1, 1], [1, 2, 3] ); print $curr_grad->[1]->[1]++, "\n"; print $vars{gradient}->{$mode}->[1]->[1], "\n"; } habe es mal so formatiert, wie es in meinen augen *viel* leserlicher ist. die pfeile zwischen den dereferenzierungen gehören für mich dazu. zum befüllen habe ich $curr_grad (eine referenz auf ein anonymes array) direkt verwendet und die andere zeile auskommentiert. edit: falls $vars{gradient}->{$mode} noch nicht existiert, musst du stattdessen schreiben: my $curr_grad = $vars{gradient}->{$mode} = []; Last edited: 2011-10-01 11:42:27 +0200 (CEST) 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: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |