我看到一些代码在scalars(数字)上调用方法,类似于:

print 42->is_odd

你需要超载什么才能实现这种“功能”。你的代码?

有帮助吗?

解决方案

您指的是 autobox 吗?另请参阅我应该在Perl中使用autobox吗?

其他提示

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

#!/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";
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top