Schrift
[thread]5937[/thread]

Parameter an Sub übergeben



<< >> 9 Einträge, 1 Seite
pktm
 2003-12-01 17:07
#73580 #73580
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Also ich würde gerne einer Sub eine 1 übergeben.
Das sieht bei mir so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
#aufruf
res_get(1);

#sub
sub res_get {
 my $self = shift;
 my $userid = shift;
 print "UID: $userid\n";
#machwas
}


Ich erhaöte aber immer nur "undefinded value" wenn ich $userid ausgeben will.
Wenn ich "1" übergebe passiert das Selbe.
Woran liegt das?
Wichtiger: Wie kann ich das ändern :)
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
JW
 2003-12-01 17:23
#73581 #73581
User since
2003-08-04
467 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Die "1" steht in $self, für $userid wird nichts übergeben. Du hast doch nur einen Parameter in deinem Aufruf.
Oder verstehe ich dich falsch?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#! /usr/bin/perl -w

use strict;

gettext(1,2);

sub gettext{
my $param1=shift;
my $param2=shift;
print "Param1: $param1\n";
print "Param2: $param2\n";
}

erzeugt:

joerg@snibril:~/perl> perl test2.pl
Param1: 1
Param2: 2
joerg@snibril:~/perl>
\n\n

<!--EDIT|JW|1070292328-->
pktm
 2003-12-01 18:17
#73582 #73582
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, hätte wohl sagen sollen, das die Sub aus einem Modul stammt und ich die Sub umschrieben muss.
Kann es sein, dass der Aufruf einer Sub in einem Modul etwas anders aussieht, so à la sub(self, Param) ?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2003-12-01 18:32
#73583 #73583
User since
2003-08-04
7321 Artikel
ModeratorIn

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
package MyModul;

sub new
{
my $self = {};

bless $self, shift;

return $self;
}

sub gettext
{
my ($self, $id) = @_;
return ++$id if defined $id;
}

1;

my $m = new MyModul();
print $m->gettext(15);
Relais
 2003-12-01 18:46
#73584 #73584
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pktm,01.12.2003, 17:17]Hm, hätte wohl sagen sollen, das die Sub aus einem Modul stammt und ich die Sub umschrieben muss.[/quote]
Wie sieht sie aus, die Subroutine im Modul, die du umschreiben mußt?
Ist's ein CPAN-Modul? Ist's ein objektorientiertes?

Wie kann es sein, daß Du uns die Informationen, die wir für die Dir angenehme Antwort bräuchten, nicht geben magst?
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
Crian
 2003-12-01 19:17
#73585 #73585
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Wegen self ist es objektorientiert, aber wie Esskar schon deutlich machte, gibts da eigentlich kein Problem. Wahrscheinlich hat der "Fehler" eine andere Ursache.

use warnings; und use strict; ist ja wohl an ???\n\n

<!--EDIT|Crian|1070299039-->
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
esskar
 2003-12-01 19:18
#73586 #73586
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
er testet die funktion wohl einfach ohne object...
also einfach so

Code: (dl )
gettext(873);
Crian
 2003-12-01 19:19
#73587 #73587
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ja, das kann gut sein, dann landet natürlich alles in verschobenen Parametern.

Zum Testen ohne Objekt sollte man dann "irgendwas" als ersten Parameter mitgeben...
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
pktm
 2003-12-01 21:48
#73588 #73588
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Jo, so habe ich es jetzt auch gemacht.
Ich friemel übrigens hier mit:
http://aszlig.net/~thorium/
http://www.intergastro-service.de (mein erstes CMS :) )
<< >> 9 Einträge, 1 Seite



View all threads created 2003-12-01 17:07.