Thread Probleme mit mehrdimensionalen Arrays (18 answers)
Opened by eXpli at 2011-01-07 10:27

eXpli
 2011-01-07 14:58
#144181 #144181
User since
2011-01-07
9 Artikel
BenutzerIn
[default_avatar]
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
24
25
#!usr/bin/perl

use strict;
use warnings;
use Data::Dumper;
use List::Util qw(sum);

my @feld=(
        [
                [1,2],
                [3,4],
        ],
        [
                [5,6],
                [7,8],
        ],
);

print $feld[0][1][0]; #einzelnen Eintrag ausgeben

my @foos = map { sum @$_ } @$feld;
print Dumper \@foos;

my $total = sum @$feld;
print $total."\n";


Ich habe jetzt ein 3D-Array (Array mit Arrayreferenzen, richtig?).

Im unteren Teil möchte ich die Elemente summieren. Das sollte doch mit map und List::Util qw/sum/; funktionieren. Warum funktioniert das in diesem Bsp. nicht?

Wenn ich das mit ner Schleife durchgehen will funktioniert das auch nicht...
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
my $total;
for my $x (0,1){
        for my $y (0,1){
                for my $z (0,1){
                        $total += $feld[$x][$y][$z];
                }
        }
}
print $total;


Wenn ich ehrlich bin kann ich auch die Klammern bei den Schleifen nicht deuten... Was macht 0,1? Leider habe ich nix dazu im Wiki oder anderswo gefunden ;(.

Ich habe gelesen das die foreach-Schleifen speziell für Arrays gedacht sind. Um die interessanten Fall für "ausgefranste" Arrays zu entgegnen.
Last edited: 2011-01-07 15:43:20 +0100 (CET)

View full thread Probleme mit mehrdimensionalen Arrays