相关疑难解决方法(0)

为什么不"使用重载"与"使用命名空间:autoclean"一起工作?

好的只是为了理智检查超载似乎并没有为我工作.我不知道它是我的perl版本,还是overload.pm的版本,或者我实现它的方式有问题,但这段代码对我不起作用.

perl版本

This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi
Run Code Online (Sandbox Code Playgroud)

过载版本

perl -Moverload -e 'print "$overload::VERSION\n";'
1.07
Run Code Online (Sandbox Code Playgroud)

Token.pm

package Token;
use namespace::autoclean;
use Data::Dumper;


use Moose;
use Moose::Util::TypeConstraints; 

use overload '+' => \&_overload_add, fallback => 1;

  has 'secretvalue' => ( is => 'rw', isa => 'Int');  

  sub _overload_add{
    my ( $one, $two ) = @_;   
    my $value = $one->secretvalue() + $two->secretvalue();
    return ($value);
  }
Run Code Online (Sandbox Code Playgroud)

主要

use strict;
use warnings;
use Token;
my $t = Token->new( secretvalue => 17, key => …
Run Code Online (Sandbox Code Playgroud)

perl overloading namespaces moose

12
推荐指数
2
解决办法
859
查看次数

标签 统计

moose ×1

namespaces ×1

overloading ×1

perl ×1