use strict;use warnings;use overload '|' => sub { 1 / ( 1 / $_[0] + 1 / $_[1] ) };print( 5 | 5 ); # Prints '5' instead of '2.5'解决方法 过载仅适用于有福的引用(“对象”).
package MyNumber;use strict;use warnings;use overload '|' => sub { 1 / ( 1 / +$_[0] + 1 / +$_[1] ) },'0+' => sub { $_[0]->{value} },# Cast to number fallback => 1; # Allow fallback conversions# "Constructor",bless number as MyNumbersub num { my $self = { value => $_[0] }; # can be any reference return bless $self,"MyNumber";}print(num(5) | num(5));my $a = num(5);print ($a | 5); # This works too总结
以上是内存溢出为你收集整理的perl – 为什么不’|’超负荷?全部内容,希望文章能够帮你解决perl – 为什么不’|’超负荷?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)