У меня есть следующий код в моем Танцовщица модуле приложения:Можно ли создать экземпляр объекта в Dancer, чтобы вернуть значение для отображения?
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;
У меня есть класс Moops под названием Dice.pm, который работает просто отлично, если я проверить его с .pl файла, но при попытке доступа к нему через веб-браузер я получаю следующую ошибку: Не удается найти метод объекта «новый» через пакет «Dice» (возможно, вы забыли загрузить «Dice»?).
Могу ли я это сделать с танцором?
Здесь уместен код из 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();
}
}
Я предполагаю, что вы 'использование Dice; '? – ThisSuitIsBlackNot
@ThisSuitIsBlackNot Сообщение об ошибке предполагает, что они * dont * имеют 'использование Dice;' –
Использование Dice действительно находится в верхней части скрипта. Я обновил код, чтобы показать весь скрипт. – BackPacker777