Schrift
[thread]7104[/thread]

prototypen und objekte in perl: verständnisfrage

Leser: 1


<< >> 7 Einträge, 1 Seite
supersucker
 2005-07-05 04:40
#55982 #55982
User since
2005-03-17
118 Artikel
BenutzerIn
[default_avatar]
hi zusammen,

hoffe doch mal das meine folgenden fragen auch für andere leute interessant sind die von perl eine mittelmässige ahnung haben (so wie ich z.B.)......:-)

1. ich hab trotz intensiver lektüre nicht verstanden was prototypen in perl sind, in meinem perl-buch steht dazu das der interpreter prototypen wie in perl eingebaute funktionen behandelt...toll was hab ich davon?
mir ist generell überhaupt nicht klar, was denn nun eigentlich der unterschied zwischen funktionen und prototypen ist, für mich sieht es so aus als gäbe es ausser dem oben erwähnten überhaupt keine unterschiede.....
bei was für fällen würde man denn beispielsweise prototypen verwenden?

2. kennt jemand ein gutes ausführliches online-tutorial zur objektorientierten programmierung in perl? das kamelbuch find ich dabei überhaupt nicht hilfreich, larry hat ja echt humor aber manchmal würde ich mir einfach ein praktisches beispiel wünschen, und die kapitel über OO sind meiner ansicht echt nicht sehr informativ....googeln über OO in perl hat mich nicht wirklich weiter gebracht........

danke für die erleuchtung im voraus....
esskar
 2005-07-05 05:10
#55983 #55983
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
zu 2: http://www.amazon.de/exec/obidos/ASIN/3827318122/302-5479664-4550435 gibts dort nur noch gebarucht ??? keine ahnung warum. ist wohl das beste buch zu diesem thema... hat jeder hier!
lichtkind
 2005-07-05 12:02
#55984 #55984
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ein online tutorial zur oop:

http://www.mathe2.uni-bayreuth.de/perl/start.htm
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Strat
 2005-07-05 12:46
#55985 #55985
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
perldoc perloop finde ich klasse
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2005-07-05 13:25
#55986 #55986
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Die Prototypen in Perl sind so etwas wie Schablonen. Jedenfalls nicht das, was man sich unter Prototypen vorstellt, wenn man aus der C/C++-Ecke kommt.

In den einfachen Fällen fängst Du damit Probleme ab, wenn jemand eine Funktion mit der falschen Anzahl Parameter aufruft.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub funktion ($;$) {
my $bla = shift;
my $blubb = shift || '';

...
}

...

funktion(); # Fehler !
funktion('A'); # OK
funktion('A', 'B'); # OK
funktion('A', 'B', 'C'); # Fehler!


Aber es geht auch interessanter:

Code: (dl )
1
2
3
4
5
6
7
8
9
sub machwas (\@\@) {
my ($arrayref1, $arrayre2) = @_;
....
}

my @a = 0 .. 9;
my @b = 'a' .. 'f';

machwas(@a, @b);


Was Dein Buch meint ist vermutlich folgendes:

Code: (dl )
1
2
3
4
5
6
7
8
sub f ($) { print $_[0], "\n"; }
sub g { print $_[0], "\n"; }

f("Hallo"); # ok
f "Hallo"; # ok

g("Hallo"); # ok
g "Hallo"; # Fehler!


In OO-Modulen werden Prototypen allerdings ignoriert.
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
Strat
 2005-07-05 14:40
#55987 #55987
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
prototypen werden auch ignoriert, wenn man &Subroutine(...) aufruft... dies ist der Grund, wieso ich von mir geschrieben Subs mit &Subroutine(...) aufrufe (erscheint mir einfach logisch, analog zu @array, %hash, $scalar, ...), fremde Subroutinen (aus Modulen) aber immer nur Subroutine(...). Dadurch habe ich auch eine gute Unterscheidung, was jetzt von mir kommt und was vielleicht ueber Namespacepollution hereinkam (wobei ich den Exporter so gut wie nie verwende, hoechstens mal fuer ein paar konstanten)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
sri
 2005-07-05 18:40
#55988 #55988
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ganz wichtig sind Prototypen fuer XS und Konstanten.
<< >> 7 Einträge, 1 Seite



View all threads created 2005-07-05 04:40.