4

我看到了一些调用标量(数字)方法的代码,例如:

print 42->is_odd

您必须重载什么才能在代码中实现这种“功能”?

4

2 回答 2

10

你指的是自动装箱吗?另请参阅我应该在 Perl 中使用自动装箱吗?.

于 2009-11-25T21:44:29.740 回答
1

这是一个使用自动装箱功能的示例。

#!/usr/bin/perl

use strict;
use warnings;

package MyInt;

sub is_odd {
  my $int = shift;
  return ($int%2);
}

package main;

use autobox INTEGER => 'MyInt';
print "42: ".42->is_odd."\n";
print "43: ".43->is_odd."\n";
print "44: ".44->is_odd."\n";
于 2009-11-26T11:57:22.653 回答