2012-01-11 19 views
5

這似乎工作:MooseX :: Declare是否要求'{'與'method'在同一行?

use MooseX::Declare; 

class Example { 
    method my_method() { 

    } 
} 

這似乎不是創建方法:

use MooseX::Declare; 
class Example { 
    method my_method() 
    { 

    } 
} 

我失去了一些東西,或者是它的MooseX::Declare限制了大括號有去與'方法'相同的行嗎?

- 編輯 -

MooseX::Declare = 0.35

Devel::Declare = 0.006004 - 看起來像我下來版本Devel::Declare,以後的版本似乎並沒有成爲內的ActiveState Perl的可由於一些構建問題:http://code.activestate.com/ppm/Devel-Declare/(最多幷包括0.006008)

+0

構建問題是奇怪的。 Devel :: Declare在Makefile.PL中沒有做任何奇怪的事情,會導致它掛起。有許多可選的PPM存儲庫:http://win32.perl.org/wiki/index.php?title=PPM_Repositories您也可以使用隨編譯器一起提供的Strawberry Perl,並且可以安裝CPAN中的大多數模塊。 http://strawberryperl.com/ – Schwern 2012-01-11 19:30:18

+0

@Schwern,不需要切換到草莓。 「cpan」在AS中也可以很好地工作。如果你沒有編譯器,AS會下載,安裝和使用'mingw'。 – ikegami 2012-01-11 20:38:28

+0

問題實際上是在MooseX :: Method :: Signatures中。我有0.37(最新)。 – ikegami 2012-01-11 20:56:19

回答

4

是的,這應該工作。您可能需要升級Devel :: Declare,它具有語法魔術或MooseX :: Declare。

相關問題