2012-01-11 11 views
5

Esto parece funcionar:¿MooseX :: Declare requiere que '{' esté en la misma línea que 'método'?

use MooseX::Declare; 

class Example { 
    method my_method() { 

    } 
} 

Esto parece no crear el método:

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

    } 
} 

Me estoy perdiendo algo, o se trata de una restricción de la MooseX::Declare que la llave de apertura tiene que seguir la misma línea que 'método'?

--edit--

MooseX::Declare = 0,35

Devel::Declare = 0,006004 - Parece que estoy abajo en la versión Devel::Declare, más tarde no parecen versiones a estar disponible dentro de ActiveState Perl debido a algún problema de acumulación : http://code.activestate.com/ppm/Devel-Declare/ (hasta e incluyendo 0.006008)

+0

El problema de compilación es extraño. Devel :: Declare no está haciendo nada extraño en su Makefile.PL que causaría que se cuelgue. Hay muchos repositorios de PPM alternativos: http://win32.perl.org/wiki/index.php?title=PPM_Repositories También puede usar Strawberry Perl que viene con un compilador y puede instalar la mayoría de los módulos desde CPAN. http://strawberryperl.com/ – Schwern

+0

@Schwern, No hay necesidad de cambiar a Strawberry. 'cpan' funciona perfectamente bien en AS también. Si no tiene un compilador, AS descargará, instalará y usar 'mingw'. – ikegami

+0

El problema está realmente en MooseX :: Method :: Signatures. Tengo 0.37 (más reciente). – ikegami

Respuesta

4

Sí, eso debería funcionar. Es posible que deba actualizar Devel :: Declare, que hace la magia de sintaxis, o MooseX :: Declare.

Cuestiones relacionadas