Thread Problem mit Übungsaufgabe: Anonyme Arrays (3 answers)
Opened by Fraser at 2005-01-10 12:38

renee
 2005-01-10 14:00
#50679 #50679
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# die ersten 4 Zeilen bleiben frei ($x fängt erst bei Index 4 an, gehe bis Zeil 8
for $x (4..7) {
# für die ersten drei Spalten (der entsprechenden Zeile)
for $y (0..2) {
# schreibe in die Zelle das Ergebnis von func
$AoA[$x][$y] = func($x, $y)
}
}

$x = "Perl";
$y = "ist spitze";

# für jede Zeile 5 - 8: schreibe in Zelle 2 das Ergebnis von func1
foreach (4..7) {
$AoA[$_][1] = func1($x, $y);
}

# füge an Zeile 7 noch "na" und "klar" an (sind also 2 weitere Zellen)
push @{$AoA[6]}, "na","klar";

# iteriere (laufe) über jedes Element (Zeile)
for $i (0.."$#AoA") {
# iteriere über jedes Element des Anonymen Arrays (Spalte)
for (0.."$#{$AoA[$i]}") {
# gebe das Element (Zelle) aus
print "$i,$_: $AoA[$i][$_] ";
}
print "\n";
}

# gebe den Wert der 7.Zeile und 5. Spalte wieder (G6)
print "Wert: $AoA[6][4]\n";

# hier wird das Produkt der beiden Parameter zurückgegeben, obwohl
# kein explizites return angegeben ist. Ist ein return nicht explizit vorhanden,
# wird der Wert des zuletzt evaluierten Ausdrucks zurückgegeben.
# Die Parameter stehen in dem Array @_ . Das shift holt sich den ersten Wert
# aus dem Array, das angegeben ist (shift(@array)), oder - wenn nix angegeben
# ist aus @_
# Das Ergebnis wird in $_ gespeichert, weil keine Variable explizit angegeben ist
sub func {
(shift)*(shift);
}

# hier wird automatisch der zweite Parameter wieder zurückgegeben,
# obwohl kein explizites return angegeben ist.
sub func1{
shift;
$_[0];
}


Zu @_ und $_ siehe perldoc perlvar
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Problem mit Übungsaufgabe: Anonyme Arrays