2009-11-25 38 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"; 
相關問題