Ich habe den folgenden Code in meiner Dancer App-Modul:Kann ich ein Objekt in Dancer instanziieren, um einen Wert zur Anzeige zurückzugeben?
package Deadlands;
use Dancer ':syntax';
use Dice;
our $VERSION = '0.1';
get '/' => sub {
my ($dieQty, $dieType);
$dieQty = param('dieQty');
$dieType = param('dieType');
if (defined $dieQty && defined $dieType) {
return Dice->new(dieType => $dieType, dieQty => $dieQty)->getStandardResult();
}
template 'index';
};
true;
ich eine Moops Klasse habe Dice.pm genannt, die nur gut, wenn ich es mit einer .pl-Datei testen, aber wenn ich versuche, es funktioniert zugreifen über den Webbrowser erhalte ich den folgenden Fehler: Kann die Objektmethode "neu" nicht über das Paket "Würfel" finden (vielleicht haben Sie vergessen, "Würfel" zu laden?).
Kann ich das mit Tänzer machen?
Hier ist der relevante Code aus Dice.pm:
use 5.14.3;
use Moops;
class Dice 1.0 {
has dieType => (is => 'rw', isa => Int, required => 1);
has dieQty => (is => 'rw', isa => Int, required => 1);
has finalResult => (is => 'rw', isa => Int, required => 0);
method getStandardResult() {
$self->finalResult(int(rand($self->dieType()) + 1));
return $self->finalResult();
}
}
ich Sie davon ausgehen, 'Verwendung Würfel; '? – ThisSuitIsBlackNot
@ThisSuitIsBlackNot Die Fehlermeldung suggeriert, dass sie * done * '' dice verwenden; ' –
Verwenden Sie Würfel ist in der Tat an der Spitze des Skripts. Ich habe den Code aktualisiert, um das gesamte Skript anzuzeigen. – BackPacker777