代码之家  ›  专栏  ›  技术社区  ›  Erik Bennett

Moose变量名不能包含::at

  •  0
  • Erik Bennett  · 技术社区  · 6 年前

    变量名不能包含::at

    触发它的代码是:

    override 'emitEvent::ENOTE::Final' => sub {
    my ($self, $e) = @_;
    my ($rval);
    
    $rval = super();
    
    
    return($rval);
    };
    

    http://codeverge.com/perl.perl5.porters/a-very-old-bug-in-safe.pm/2018166

    这有关系吗?

    如果我把“::”去掉,它就消失了,但真的弄乱了我命名东西的方式,所以如果有解决办法,我会很感激的。

    -电子

    1 回复  |  直到 6 年前
        1
  •  5
  •   ikegami Gilles Quénot    6 年前

    override 的第一个参数必须是继承方法的(非限定)方法名。

    emitEvent::ENOTE::Final Final 包装内 emitEvent::ENOTE . 如果您在创建一个名为that的方法时愚弄了某些东西,您应该修复它。

    推荐文章