穆斯角色的角色

Sch*_*ern 4 perl roles moose

我想建立一个由其他较小角色组成的便利Moose角色.例如,如果我有WithAddress和WithPhone,我想要一个WithContacts同时提供WithAddress和WithPhone以及我将来添加的任何联系方法.

我怎么能和穆斯一起做这件事?

cjm*_*cjm 9

package WithContacts;

use Moose::Role;
with qw(WithAddress WithPhone);

# anything else your role should do

no Moose::Role;
1;
Run Code Online (Sandbox Code Playgroud)

  • 根本不需要它; 它只是无关紧要的各种糖,如'has','with'等``use namespace :: autoclean;`可以说是更好的(虽然这方面的最佳实践并未真正弄清楚). (3认同)
  • 如果你害怕魔法,并且除了*Moose [:: Role]之外你没有使用任何导入函数*的东西,那么让Moose进行无需进入似乎是非常明智的.如果清理得很乱,那么namespace :: autoclean会更加闪耀:) (2认同)