나는이 내 댄서 응용 프로그램 모듈에 다음 코드 : 나는 내가 통해 .pl 파일을 테스트하면 잘 작동 Dice.pm라는 Moops 클래스를 가지고,하지만 난 때 액세스 할 수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;
웹 브라우저를 통해 다음과 같은 오류 메시지가 나타납니다. "Dice"패키지를 통해 "new"객체 메서드를 찾을 수 없습니다 ("주사위"를로드하는 것을 잊었을 수도 있습니다).
댄서와 함께이 작업을 수행 할 수 있습니까? 내가 네임 스페이스에 대한 혼란 스러워요
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();
}
}
내가 당신을 가정'사용 주사위,'? – ThisSuitIsBlackNot
@ThisSuitIsBlack 아니요. 오류 메시지는 주사위를 사용하지 않았 음을 나타냅니다. –
주사위는 실제로 스크립트 상단에 있습니다. 전체 스크립트를 표시하도록 코드를 업데이트했습니다. – BackPacker777