Difference between revisions of "Arrays perl"
From Teknologisk videncenter
m (New page: = Referencer til arrays = == Overføre array til subroutine == Overfør en reference til arrayet. (Subroutinen får adressen på arrayet og arbejder på det originale Overfør reference ...) |
m (→Overføre array til subroutine) |
||
Line 26: | Line 26: | ||
sub mercantec() { | sub mercantec() { | ||
my $a = shift; | my $a = shift; | ||
− | $a->[2] = Z; # -> betyder reference til | + | print "\nsub mercantec har modtaget\n"; |
+ | for ( my $i=0; $i <= $#$a ;$i++ ) { | ||
+ | print $i,":",$a->[$i]," "; | ||
+ | } | ||
+ | $a->[2] = Z; # Ændre element 2 (-> betyder reference til) | ||
} | } | ||
</source> | </source> | ||
+ | |||
= Indsætte og fjerne elementer i et array = | = Indsætte og fjerne elementer i et array = | ||
Eksmepler på ''pop'',''push'',''shift'',''unshift'' og ''splice'' herunder | Eksmepler på ''pop'',''push'',''shift'',''unshift'' og ''splice'' herunder |
Revision as of 09:21, 5 June 2009
Referencer til arrays
Overføre array til subroutine
Overfør en reference til arrayet. (Subroutinen får adressen på arrayet og arbejder på det originale Overfør reference til subroutine. Eksempel.
#Opret et array
my @array = qw(A B C D E F G H I J);
#--------------------------------------------
print "Det originale array\n";
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#--------------------------------------------
mercantec(\@array);
#--------------------------------------------
print "\nEfter kald til subroutine mercantec\n";
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#--------------------------------------------
sub mercantec() {
my $a = shift;
print "\nsub mercantec har modtaget\n";
for ( my $i=0; $i <= $#$a ;$i++ ) {
print $i,":",$a->[$i]," ";
}
$a->[2] = Z; # Ændre element 2 (-> betyder reference til)
}
Indsætte og fjerne elementer i et array
Eksmepler på pop,push,shift,unshift og splice herunder
my @array = qw(A B C D E F G H I J);
#--------------------------------------------
print "Det originale array\n";
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#--------------------------------------------
print "\n\nVi ønsker at tilføje et element til sidst i arrayet.\n";
push(@array,"K");
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#--------------------------------------------
print "\n\nVi ønsker at tilføje et element i starten af arrayet.\n";
unshift(@array,"=");
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#--------------------------------------------
print "\n\nVi ønsker at fjerne det første element.\n";
shift(@array);
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#--------------------------------------------
print "\n\nVi ønsker at fjerne det sidste element.\n";
pop(@array);
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#--------------------------------------------
print "\n\nVi ønsker at tilføje et element mellem 3 og 4.\n";
splice(@array,3,0,"*");
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#--------------------------------------------
print "\n\nVi ønsker at fjerne element 3 og 4.\n";
splice(@array,3,2);
for ( my $i=0; $i <= $#array ;$i++ ) {
print $i,":",$array[$i]," ";
}
#-----------------------------------------