Font
[thread]5685[/thread]

SUPER: Ich bin am verzweifeln ...



<< |< 1 2 >| >> 16 entries, 2 pages
BrownWolf
 2003-09-03 17:53
#83546 #83546
User since
2003-08-15
308 articles
BenutzerIn
[default_avatar]
Hallo,

nun wollte ich eigentlich weiter lernen im Buch.
Diesmal "Das Pseudo-Package SUPER"
Ich komm aber nicht wirklich weiter, da ja alles so super toll beschrieben ist. Hätt ich das vorher gewusst dann hätt ich nen andres Buch als das von Damian gekauft.

1. Für nen Anfänger in OOP total unverständlich.
2. Tausende Rechtschreibfehler im Buch drin.
Schon in den Auffrischungskapiteln fängt das an.

Zitat:

Verwenden sie "gw"

Code (perl): (dl )
my @array = gw(1 2 3 4 5 6);


Kann mir jemand erklären was genau SUPER macht und wie man es anwendet ? Sonst werf ich das Buch gleich zum Fenster raus.
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
havi
 2003-09-03 17:59
#83547 #83547
User since
2003-08-04
2036 articles
BenutzerIn
[Homepage]
user image
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
SUPER.pl
#!/usr/local/bin/perl -w
# SUPER.pl -- Zeigt die Verwendung der Pseudoklasse SUPER

package Base;
sub new {
my $cn = shift;
my $data = shift;
my $self = { data => $data };
return bless $self, $cn;
}

sub mytype {
my $self = shift;
return ref($self);
}

package Derived1;
@ISA = qw(Base);
sub new {
my $cn = shift;
my $data = shift;
my $moredata = shift;
my $self = $cn->SUPER::new($data);
$self->{'moredata'} = $moredata;
return $self;
}

sub mytype {
my $self = shift;
return ref($self);
}

package main;
my $obj = Derived1->new("data1", "data2");
print "Type: ", $obj->mytype(), "\n";
print "Data1:", $obj->{'data'}, "\n";
print "Data2:", $obj->{'moredata'}, "\n";


Zu finden: hier

mfg havi
SirLant
 2003-09-03 18:12
#83548 #83548
User since
2003-08-04
516 articles
BenutzerIn
[default_avatar]
BrownWolf sicher dass du gw und nicht qw meinst?
gw kenne ich nämlich auch nicht
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
BrownWolf
 2003-09-03 18:19
#83549 #83549
User since
2003-08-15
308 articles
BenutzerIn
[default_avatar]
[quote=SirLant,03.09.2003, 16:12]BrownWolf sicher dass du gw und nicht qw meinst?
gw kenne ich nämlich auch nicht[/quote]
Naja es sind so Kleinigkeiten.
Immer wieder ..... für ein Perl Anfänger schrecklich wenn er "qw" noch nicht kennt.

Zitat:

Code (perl): (dl )
1
2
3
4
5
Listen von Zeichenkettenliteralen wie ("blood","sweat","tears") sind ziemlich schwierig zu tippen und lesen. Perl stellt deshalb einen speziellen Operator (gw) zur Verfügung.....

($sanguine, $saline, $doleful) = qw(blood sweat tears);

Wenn Sie als Listenklammern gw voranstellen, können Sie die Gänsefüßchen und die Kommata weglassen.


Und aus so was soll man lernen.
Später im Buch wirds dann richtig krass mit den Rechtschreibfehlern. Man denkt das derjenige der das übersetzt hat entweder kein Deutscher war oder zuwenig Zeit hatte und nur bezahlt werden will.

@Havi werds mir ma anguggen jetzt ;)
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
Crian
 2003-09-03 18:22
#83550 #83550
User since
2003-08-04
5840 articles
ModeratorIn
[Homepage]
user image
Welches Buch ist es denn?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
SirLant
 2003-09-03 18:27
#83551 #83551
User since
2003-08-04
516 articles
BenutzerIn
[default_avatar]
Am geilsten sind immernoch die Bücher mit Code der Fehler
enthält, da fragt man sich echt.
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
havi
 2003-09-03 18:30
#83552 #83552
User since
2003-08-04
2036 articles
BenutzerIn
[Homepage]
user image
[quote=SirLant,03.09.2003, 16:27]Am geilsten sind immernoch die Bücher mit Code der Fehler
enthält, da fragt man sich echt.[/quote]
Das stimmt aber BrownWolf's Erlebnis ist auch nicht schlecht :-(
Strat
 2003-09-03 18:33
#83553 #83553
User since
2003-08-04
5246 articles
ModeratorIn
[Homepage] [default_avatar]
In der englischen Version ist es besser; da erinnere ich mich an keinen solchen Fehler.

Dass bei uebersetzungen gelegentlich mal was schiefgeht, ist mir auch schon oefter aufgefallen, z.B. steht in Effektiv Perl Programmieren Auflage 1 mal im code:
Code (perl): (dl )
..... oder sterbe;

oder so aehnlich...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2003-09-03 18:34
#83554 #83554
User since
2003-08-04
5246 articles
ModeratorIn
[Homepage] [default_avatar]
[quote=havi,03.09.2003, 16:30][quote=SirLant,03.09.2003, 16:27]Am geilsten sind immernoch die Bücher mit Code der Fehler
enthält, da fragt man sich echt.[/quote]
Das stimmt aber BrownWolf's Erlebnis ist auch nicht schlecht :-([/quote]
@Brownwolf: vielleicht solltest du den Uebersetzern mal eine nette Mail schreiben...\n\n

<!--EDIT|Strat|1062599709-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
BrownWolf
 2003-09-03 18:38
#83555 #83555
User since
2003-08-15
308 articles
BenutzerIn
[default_avatar]
Das Buch: Objektorientiert Programmieren von Damian Conway.

Dort sind auch viele Fehler im Code. Zum Beispiel hier:

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
26
27
28
29
package Settable;

sub new {
my($class,$set) = @_;
my $self = { Settable_set => $set };
return bless $self, $class;
}

sub set {
my ($self) = @_;
$self->{Settable_set} = 1;
}

package Collection; 

@ISA = qw(Settable);

sub new {
my($class, %items) = @_;
my $self = $class->SUPER::new();

self->{Collection_set} = { %items };
return $self;
}

sub list {
my($self) = @_;
print keys %{$self->{Collection_set}};
}


Genau so stehts im Buch ;)\n\n

<!--EDIT|BrownWolf|1062600157-->
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
<< |< 1 2 >| >> 16 entries, 2 pages



View all threads created 2003-09-03 17:53.