Fehler: "Can' T locate object method "new" via package" in Perl
Ich bin neu in Perl, also ich habe einige Probleme mit OOP.
Habe ich...
- connect4.pl
- - Player.pm
Ich versuche, das Modul "Player" in connect4,pl, aber ich bekomme die Fehlermeldung: "Can' T locate object method "new" via package", wenn ich versuche, erstellen Sie eine Instanz des Moduls.
Ich habe schon andere Beiträge gelesen, aber ich weiß nicht so Recht, was Ihr problem war und wie es behoben wurde...
Hier ist ein Schnipsel (die ich gelöscht habe viele Zeilen, die ich gerade aufgenommen, was ich dachte, war wichtig)
use Player;
my $temp_connect_four = Player -> new("parameters");
und
package connect4;
sub new{
#some variables
}
#more methods/subroutines
Was ist das problem?
- Ist Ihr Paket
connect4
oderPlayer
? - Hat deine Player-Klasse eine
new()
Methode?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie etwas wie:
Datei: Spieler.Uhr
Ihre Haupt-Skript, connect4.pl
BEARBEITEN
Erste beantwortet nur die oben genannten, aber basierend auf der Tatsache, als Sie Probleme haben, zu verstehen, wie perl-Pakete sollen so organisiert werden, IMHO müssen Sie einige weitere Kommentare, aus dem perl-Anfänger Sicht (wie mich). Sie werden wahrscheinlich viel besser und viel präziser Antworten von perl-gurus.
Wenn du lernst, OO mit perl, IMHO, sollten Sie beginnen mit der "Mo" oder "Moo" Pakete aus dem CPAN. Sie bietet Ihnen einige schöne "Zucker", was sehr hilft Sie beginnen, OO-orientierte Programme in perl und ermöglichen, erweitern Sie Ihre Pakete später Moo?'s schlauer Bruder -> Elch.
Muss sagen, es ist nicht gemeint als Sie brauchen nicht zu lernen, die grundlegenden principes von perl OO.
Weil die meisten CPAN-Module geschrieben werden, ohne Mo?se und viele Programme was Sie Lesen werden, geschrieben in der traditionellen perl-OO, so dass Sie sill müssen es lernen, aber (aus meiner eigenen Erfahrung) braucht es etwas steiler Lernkurve. Sie müssen verstehen-Paket-Struktur, was ist eine "Segen" und so weiter. Mit "Mo" (oder Elch) hilft, die Sie verstecken sich viele Dinge, und Sie lernen Sie später.
Mit "Mo", hilft Ihnen schneller Ergebnisse withot voll verstehen -, warum es funktioniert. 😉 /Wahrscheinlich jetzt viele perl-Experten kommentieren Sie dies als eine falsche Methode des Lernens. :)/
Sich der Spieler beispielsweise mit "Mo" geschrieben werden können, wie die nächste:
Datei: Spieler.Uhr
Datei mit der main.pl Skript:
läuft das main.pl produziert:
Wie Sie sehen können, die "Mo" bietet Ihnen KOSTENLOS einen "neuen" Methode. (und viele andere Dinge auch).
Die Sie wirklich brauchen, um zu Lesen: