Thread Can't call method - Wertzuweisung schlägt fehl? (16 answers)
Opened by Karakash at 2011-03-24 09:51

pq
 2011-03-24 10:16
#146850 #146850
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich glaube, du verwechselst hier einige dinge. nach welchem tutorial hast du perl OOP gelernt?

in zeile 8 deklarierst du eine lexikalische variable $IsFulfilled. die verwendest du dann aber nicht mehr. das objekt ist ein leerer hash.

in zeile 22 fragst du die variable $initialize::IsFulfilled ab, welches eine pakage-variable des packages initialize ist.

in zeile 27 gibst du die variable $method::IsFulfilled aus, welches eine package-variable des packages method ist. die beiden variablen haben gar nix miteinander zu tun. und zweitens hat das package "method" auch nichts mit dem package "Method" zu tun.

möchtest du instanzvariablen oder klassenvariablen? das wär vielleicht die erste frage.

und der fehler, den du bekommst, sagt aus, dass $method undef ist. und deshalb kann keine methode darauf aufgerufen werden.
$method ist undef, weil es durch die methode new() aus dem package Method aufgerufen wurde, welches aber gar keinen rückgabewert hat (undef). da steht ja nur my $name (zeile 18).

also im grossen und ganzen code, der jede menge fehler hat.
vielleicht solltest du erstmal mit einem projekt anfangen, welches noch keine vererbung benutzt. immer ein schritt nach dem anderen.
Last edited: 2011-03-24 10:19:08 +0100 (CET)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Can't call method - Wertzuweisung schlägt fehl?