Schrift
[thread]6191[/thread]

Perl - Sub Routinen Parameter. (Seite 2)

Leser: 3


<< |< 1 2 3 4 >| >> 34 Einträge, 4 Seiten
renee
 2004-04-14 13:05
#81534 #81534
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
der Code würde so bei mir aussehen:
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
package test;
@EXPORT = qw(new);
sub new
{
my $self = {};
bless $self;
return $self;

}

sub test
{
 my ($self) = @_;
  $self->test2("Hallo Welt");
}

sub test2
{
 my ($self,@messages) = @_;
 print "\n";
 print "Alle Mitteilungen:\n";
 print $_,"\n" for(@messages);
}


$_[0] ist self. Wenn Du ...->test2(self,$var) aufrufst, ist $_[0] ja auch self!

Wenn Du eine Methode Objektorientiert aufrufst, dann ist self nun mal $_[0]!\n\n

<!--EDIT|renee|1081933638-->
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/
Knuddlbaer
 2004-04-14 13:21
#81535 #81535
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
Ah jetzt hats klick gemacht.

Ok d.h. ich organisiere mir immer self und verwende das zuum aufrufen weiterer Methoden.


Danke euch, nur is der Wald vorm Kopf verschwunden und die Sicht klarar :)
format_c
 2004-04-14 14:45
#81536 #81536
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
shift->test2("Hallo Welt"); ginge auch oder wenn man den nächsten Parameter durchschleifen will:
shift->test2(shift);
Sieht IMHO lustig aus.

Gru0ß alex\n\n

<!--EDIT|format_c|1081939557-->
renee
 2004-04-14 14:51
#81537 #81537
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich mache das immer so, wie ich es oben beschrieben habe, damit ich immer genau weiß, wie viele Parameter ich übergebe. Wenn ich was ändere, dann muss ich das nur an einer Stelle tun.

Wenn ich aber das "shift" benutze und dann was ändere, kann es leicht passieren, dass man was übersieht!
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/
Gast Gast
 2004-04-16 20:31
#81538 #81538
Ja, aber warum
@EXPORT = qw(new);

Beim Aufruf des Konstruktors wird doch $self zurückgeliefert (und nicht exportiert).
Knuddlbaer
 2004-04-17 05:01
#81539 #81539
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
Hm, ich hab das so aus nem alten Buch übernommen und
habe es für mich so erklärt das es sowas wie in C++ eine statische Methode ist. (Was aber irgendwie Käse ist...)

Im Buch stand nichts drüber, ausser das man es da hin schreiben soll
Gast Gast
 2004-04-17 20:01
#81540 #81540
War wohl wirklich ein sehr altes Buch ... ;)
Wenn Du Objekte verwendest dann gibt es nichts zu exportieren; anders sieht es aus wenn Du mit funktionsorientierten Modulen arbeitest (aber das ist ja hier nicht der Fall).
Knuddlbaer
 2004-04-17 20:42
#81541 #81541
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
Von 1998

Mein Problem ist das ich aus der C++ Entwicklung komme, da recht fitt bin und nun Projekte in Perl realisieren muss.
Hab davor noch nie was mit gemacht und stehe unter Zeitdruck. Das bedeutet das man keine Zeit hat die Sprache zu lernen und man steht vor vielen Fragen die man mit RTFM sich selbst hätte beantworten können.

So kommen dann auch Fragen zu stande bei denen andere die Augen verdrehen O:o)

Ich erwarte irgendwie das bei Perl vieles genauso geht wie bei C++ ... Tuts aber nich so wirklich.
Gast Gast
 2004-04-17 20:49
#81542 #81542
Nein - sicherlich verdreht niemand die Augen!
Es gibt keine dummen Fragen, es gibt nur dumme Antworten.

Quote
Ich erwarte irgendwie das bei Perl vieles genauso geht wie bei C++ ... Tuts aber nich so wirklich.

Tut's irgendwie schon so - aber wirklich nur 'irgendwie' (und einfacher) das ist der Trick ;)\n\n

<!--EDIT|Dieter|1082220632-->
Knuddlbaer
 2004-04-17 21:39
#81543 #81543
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
Hm, ich find viele Problemlösungen in C++ einfacher.
Liegt aber vllt. daran das ich das gewohnt bin :o)
<< |< 1 2 3 4 >| >> 34 Einträge, 4 Seiten



View all threads created 2004-04-13 21:22.