Thread eine Frage zu objektorientertem Perl (149 answers)
Opened by ASDS at 2007-04-10 15:14

ASDS
 2007-04-17 23:20
#75893 #75893
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
Ach ich lehn Ronnies hilfe doch nicht ab... aus der Darstellung hab ich mir eh rausgeholt, was ich brauchte oder verstanden habe...
die Fehlermeldung steht doch eh oben:
Use of uninitialized value in concatention <.> or string at Baum.pm line 100 <STDIN> line 10.

Wo der fehler is weiß ich doch eh schon, dank renee und zwar hier:
Code: (dl )
 print "$self->{'ref_wurzel'}->{'zahl'}\n";
und hier meinte er... dass es daran liegt, dass in meiner sub newtree etwas nicht passt... auch die kann ich gerne nochmal einstellen, so wie ich sie jetzt hab...
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
sub newtree {
######################
# Erstellen des Trees

my $ref_liste1 = shift;
my $knoten = undef;
my $ref_wurzel = undef;


for my $zzahl (@$ref_liste1){
# my $refvalue = $ref_wurzel;
if ($knoten)
{ while (1) {

if($zzahl < $$knoten{'zahl'}) { #Beginn des Vergleichs

if(defined($$knoten{'linksweg'}))

{

$knoten = $$knoten{'linksweg'};

}

else {

$knoten->{'linksweg'} = knot($zzahl);

$knoten = $ref_wurzel;

last; #Ende
}

}

#wenns Links nicht mehr weiter geht, geh rechts weiter


else { if ($zzahl >= $$knoten{'zahl'}) {
if(defined($knoten->{'rechtsweg'}))

{

$knoten =$$knoten{'rechtsweg'};
}

else {

$$knoten{'rechtsweg'} = knot($zzahl);

$knoten = $ref_wurzel;

last;

}

}


else {
$ref_wurzel= knot($zzahl);
$knoten = $ref_wurzel;}

}
}

}
return $ref_wurzel;
}


ich weiß schon irgendwo ist da ein fehler mit der übergabe der Zahlen..aber ich finds nicht. außerdem hab ich sie jetzt umgeschrieben:


Die Klasse Neu hab ich doch schon:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
sub new {
my $x = shift;
my $class = ref($x) || $x;
my @liste = @_;
my $ref_wurzel = newtree(\@liste);
my $self = {
wurzel => $ref_wurzel,
list => \@liste
};
bless ($self, $class);
return $self;
}

View full thread eine Frage zu objektorientertem Perl