Leser: 1
|< 1 2 >| | 15 Einträge, 2 Seiten |
@hash{qw/vorname nachname plz ort haustier foobar/} = @_;
KurtZ+2008-04-20 12:36:21--M.a.W. Perl hat hier Verbesserungspotential.
renee+2008-04-20 13:13:10--Ich finde es eigentlich ganz ok, dass das nicht erlaubt ist. Sonst verstehen Einsteiger erst recht nicht mehr das "Durcheinander" der Sigils... Dann muss noch mehr auf Kontext geachtet werden, was nicht unbedingt zur Lesbarkeit beiträgt...
RalphFFM+2008-04-20 10:16:43--%myhash = ('vorname' => $_[0], 'nachname' => $_[1], 'plz' => $_[2], 'ort' => $_[3], 'haustier' => $_[4], 'foobar' => $_[5]);
1 2 3 4 5 6 7 8
callSub( vorname => "tri", nachname => "tra", plz => "trul", ort => "la", haustier => "la", foobar => "!", )
1
2
3
4
5
6
7
8
9
10
# So sieht deine Subroutine aus
sub function {
my ( %args ) = @_;
print $args{vorname};
print $args{nachname};
...
}
# das schreibt dein benutzer deiner Subroutine
function( vorname => 'david', nachname => 'raab' );
1
2
3
4
5
6
7
8
9
sub function {
my ( %args ) = @_;
%args = (
haustiere => [],
%args,
);
}
function( name => 'david', vorname => 'raab' );
1
2
3
4
5
6
7
8
sub function {
my ( $arg_href ) = @_;
print $arg_href->{vorname};
...
}
function({ vorname => 'david', nachname => 'raab' });
function( vorname => 'david', haustiere => 'hund', 'katze' )
KurtZ+2008-04-20 14:06:36--Diese Situation ist mir noch nicht begegnet, nein, das hatte ich mir bislang noch nicht überlegt. Jedenfalls gut zu wissen, daß das geht!Ralph, du weißt aber auch dass du alternativ auch direkt benannte Argumente an ein Sub übergeben könntest? Das steigert oft die Lesbarkeit!
Code (perl): (dl )1 2 3 4 5 6 7 8callSub( vorname => "tri", nachname => "tra", plz => "trul", ort => "la", haustier => "la", foobar => "!", )
|< 1 2 >| | 15 Einträge, 2 Seiten |