2010-08-21 135 views
4

我想設置由其他小角色組成的便利駝鹿角色。例如,如果我有WithAddress和WithPhone,我希望單個WithContacts提供WithAddress和WithPhone,以及將來添加的任何聯繫方式。角色的駝鹿角色

我該如何與穆斯做到這一點?

回答

9
package WithContacts; 

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

# anything else your role should do 

no Moose::Role; 
1; 
+0

* Ker-DUH!*在所有方法被定義之後,'no Moose :: Role'是否會去? – Schwern 2010-08-21 01:35:15

+1

@Schwern,通常你會在文件結束之前立即使用'no Moose'或'no Moose :: Role'。我認爲你可以在完成'with'和'has'和'require'等之後將它放在任何地方,但是文件結束是最簡單的。 – cjm 2010-08-21 01:42:51

+3

這根本不需要;它只是像'has',''等''使用命名空間:: autoclean;''可以說更好(這是一個最佳實踐,雖然還沒有真正計算出來)。 – Ether 2010-08-21 02:20:24

0

新的辣味是«使用namepace ::自動清洗;»而不是«沒有駝鹿;»和«沒有駝鹿::作用;»

如果你想從更多的CJS聽到: - )

+0

哦,看。 Ether女士已經有了。 – cjac 2016-02-07 08:03:30