讓我們說你有需要,做一個角色的屬性,一個木類:檢查對非穆斯類駝鹿作用
package MyMooseClass;
use Moose;
has 'a' => (does => 'MyRole');
現在,我想建立一個像MyMooseClass的實例this:
my $instance = MyMooseClass->new({ a => $a_non_moose_stuff });
其中$ a_non_moose_stuff是非moose類的實例,但實現了所需的角色方法。
有沒有辦法讓Moose檢查我的$ a_non_moose_stuff是否符合角色,即使它沒有使用Moose實現?
的感謝!正是我需要的。也許我甚至可以把一個角色變成一個ductype :) – jeje 2010-09-01 08:20:44
Yep'duck_type'是作爲一種廉價的方式添加的,不必在CPAN上派生和子類化非Moose類,因此可以針對某些API進行檢查。 (編輯:我需要學習閱讀。) – perigrin 2010-09-01 09:41:32