Schrift
[thread]8913[/thread]

eine Frage zu objektorientertem Perl (Seite 12)



<< |< 1 ... 9 10 11 12 13 14 15 >| >> 150 Einträge, 15 Seiten
renee
 2007-04-18 10:59
#75907 #75907
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zeig mal die newtree-Methode wie sie im Moment ist...
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/
ASDS
 2007-04-18 11:01
#75908 #75908
User since
2007-01-29
115 Artikel
BenutzerIn
[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
sub newtree {
...
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'})
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;
}
ASDS
 2007-04-18 11:05
#75909 #75909
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
Ah, das is endlich eine halbwegsschöne Formatierung, oder?
Ich hab die Kommentare am Anfang rausgenommen, damits übersichtlicher wird...
meiner Meinung nach über geb ich ihm die Liste korrekt. Er bekommt die Liste aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sub BaumNeu { 
for(0..9){
print "Bitte geben Sie eine Zahlen ein: ";
my $eingabe = <STDIN>;
if ( $eingabe =~ /^\D*$/)
{
print "Ungültige Eingabe, bitte geben sie nur Zahlen ein \n";
chomp($eingabe);
}
else {
push @liste1,$eingabe;
}
}
print "Sie haben folgende Zahlen eingegeben: (@liste1) \n";

$ebaum =Baum->neu(@liste1);

}
renee
 2007-04-18 11:13
#75910 #75910
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bevor ich mich inhaltlich damit auseinander setze:

Hier
Code: (dl )
               if($zzahl < $knoten->{'zahl'})
fehlt ein "{".
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/
renee
 2007-04-18 11:17
#75911 #75911
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das
Code: (dl )
        if ($knoten){
ist "unsinnig" weil $knoten immer undef ist.
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/
ASDS
 2007-04-18 11:18
#75912 #75912
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
 if ($zzahl < $knoten->{'zahl'}) { #Be
Sorry, das hatte ich. Ich hatte da nur eine Bemerkung stehen die ich der übersichtlichkeitshalber rausgenommen hab, da dürfte die { wohl mitgegangen sein.

Wegen Klammern, oder synatx Errors schreit er mir gott sei dank eh nicht mehr!
ASDS
 2007-04-18 11:27
#75913 #75913
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
[quote=renee,18.04.2007, 09:17]Das
Code: (dl )
        if ($knoten){
ist "unsinnig" weil $knoten immer undef ist.[/quote]
uff, aber wenn ich das rausnehm, spruckt er mir eine Reihe von

Use of uninitialized value in numeric ge <> => , sowie lt <<> für die nächsten Zeilen aus

ich bin dir unglaub ich dank bar, dass du so eine geduld mit mir hast und dass du dich mit meinem Chaos beschäftigst. Vielen Dank.

heißt das ich muss statt $knoten irgendwie die sub knot einfügen, oder?
renee
 2007-04-18 11:34
#75914 #75914
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das hier sollte so einigermaßen das sein was Du willst (ungetestet)
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
sub newtree {
my $ref_liste1 = shift;
# Wurzel des Baums erzeugen
my $ref_wurzel = knot(shift @$ref_liste1);
my $knoten = $ref_wurzel;

for my $zzahl (@$ref_liste1){
while (1){
if($zzahl < $knoten->{'zahl'}){
if(defined($knoten->{'linksweg'})){
$knoten = $knoten->{'linksweg'};
}
else {
$knoten->{'linksweg'} = knot($zzahl);
$knoten = $knoten->{linksweg};
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 = $knoten->{rechtsweg};
last;
}
}
}
}
}
return $ref_wurzel;
}
\n\n

<!--EDIT|renee|1176881994-->
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/
ASDS
 2007-04-18 11:47
#75915 #75915
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
Hallo du,
vielen Dank für deine Bemühungen, aber am Fehler hat sich nicht wirklich was geändert, er lässt mich die Zahl eingeben und schreit dann wieder: Use of uninitialized value in numeric ge <> => , sowie lt <<> für die nächsten Zeilen aus

die betroffenen Zeilen sind diese hier:
Code: (dl )
1
2
3
4
5
6
 while (1) 
{
if ($zzahl < $knoten->{'zahl'}) { #Beginn des Vergleichs
if(defined($knoten->{'linksweg'}))
{
$knoten = $knoten->{'linksweg'};


und
Code: (dl )
1
2
3
4
5
else {
if ($zzahl >= $knoten->{'zahl'}) {
if(defined($knoten->{'rechtsweg'}))
{
$knoten =$knoten->{'rechtsweg'};


was gefählt ihm an >= und < nicht?
renee
 2007-04-18 11:54
#75916 #75916
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du meine Methode komplett übernommen??

Er meckert das an, weil keine Zahl in $knoten->{zahl} steht!
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/
<< |< 1 ... 9 10 11 12 13 14 15 >| >> 150 Einträge, 15 Seiten



View all threads created 2007-04-10 15:14.