私はダンサーのアプリモジュールに次のコードがあります。ダンサーでオブジェクトをインスタンス化して表示する値を返すことはできますか?
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;
を私は.plのファイルでそれをテストしている場合だけで正常に動作しDice.pm呼ばMoopsクラスを持っていますが、私はそれにアクセスしようとすると、 パッケージ "Dice"を介してオブジェクトメソッド "new"を見つけることができません(おそらく "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();
}
}
を私は '使用をあなたを想定しますダイス; '? – ThisSuitIsBlackNot
@ThisSuitIsBlackNotエラーメッセージには、「ダイスを使用してください」というメッセージが表示されます。 –
ダイスは実際にスクリプトの一番上にあります。スクリプト全体を表示するようにコードを更新しました。 – BackPacker777