2009-11-25 54 views

回答

10
+0

这是一个模块,我注意到了。另一个可能是'标量::对象'。我看到'autoload'使用XS,我注意到'标量:: object'没有。我宁愿更感兴趣的方式'标量:: object'做它的事。我很好奇,如果这可以完成而不诉诸低级编程。 – Geo 2009-11-25 22:00:48

+3

'scalar :: object'使用'overload :: constant'和其他'overload'魔法,但它也没有接近'autobox'的能力。 'autobox'通过挂钩到' - > foo()'方法调用操作符本身的实现来工作。 – hobbs 2009-11-25 22:19:40

+0

autobox当然是这种功能的方式。 – tsee 2009-11-26 09:06:03

1

这是使用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"; 
相关问题