Как передать ссылку на массив с псевдонимом в метод MooseX :: Method :: Signatures? - PullRequest
2 голосов
/ 26 января 2012

MooseX :: Method :: Signatures должен иметь возможность получить ссылку на массив в качестве параметра и использовать его как обычный массив в методе, см. Псевдонимы ссылки в методе :: Подписи .

Используя код в документации в качестве примера, я написал:

package MethodSignatures;

use strict;
use warnings;

use Moose;
use MooseX::Method::Signatures;

method add_one(\@foo) {
    $_++ for @foo;
}

my @bar = ( 1, 2, 3 );
MethodSignatures->add_one(\@bar);    # @bar is now (2,3,4)

Однако, это не с:

')' expected whilst parsing signature near '@foo' in '\@foo' at d:/workspace/lib/tools/Perl/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 199

Это потому, что я использую Perl 5?

1 Ответ

4 голосов
/ 26 января 2012

Обратите внимание, что MooseX :: Method :: Signatures отличается от Method :: Signatures . Первый не упоминает синтаксис \@foo, разрешенный для прототипа, поэтому это может быть причиной сбоя.

Оба модуля предназначены для Perl 5, поэтому это не должно быть причиной ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...