私は次でそれを試してみました:はMooseX ::メソッド::署名は、非ムースのクラスで使用することはできますか?
package Foo;
sub new {
my ($type) = @_;
return bless {}, $type;
}
package Bar;
use Moose;
package Baz;
use Moose;
use MooseX::Method::Signatures;
method exec1 (Foo $f, Bar $b) {
...;
}
method exec2 ($f where {$_->isa('Foo')}, Bar $b) {
...;
}
私はexec2が働くことができることがわかったが、EXEC1ため、コンパイル時エラーがあります。 fooがマウスオブジェクト(これらは私が変更することはできませんよクラスである)である場合、同じエラーが発生します。
'Foo' could not be parsed to a type constraint - maybe you need to pre-declare the type with class_type at C:/strawberry/perl/site/lib/Parse/Method/Signatures/TypeConstraint.pm line 74
しかし、exec1シグネチャで動作する方法はありますか?
)フェア十分な提案を、私はまだ実際のシナリオ缶以上かどうかを確認したいのですが解決されます。 – stevenl