3
假設我有一個幸福的引用/對象$a
和$b
,各內部存儲爲hashref並具有:重載運營商
$a->{_x}
$b->{_x}
是有可能過載的算術運算,所以當我將做到這一點:
my $c = $a + $b;
我將有一個幸福的參考$c
與$c->{_x}
等於$a->{_x} + $b->{_x}
?
假設我有一個幸福的引用/對象$a
和$b
,各內部存儲爲hashref並具有:重載運營商
$a->{_x}
$b->{_x}
是有可能過載的算術運算,所以當我將做到這一點:
my $c = $a + $b;
我將有一個幸福的參考$c
與$c->{_x}
等於$a->{_x} + $b->{_x}
?
當然。只需使用您慣用的構造函數爲+
重載的子類中的所需類的新對象,並將其值設置爲該總和(或其他任何您想要的值)即可。
假設你有new
構造函數初始值作爲參數,那會是沿路線的東西:
sub plus {
my $self = shift;
my $right = (shift or 0);
return MySuperNumberObject->new($self->{_x} + $right);
};
use overload '+' => \+