2009-11-25 5 views

답변

10

autobox을 언급하셨습니까? Should I use autobox in Perl?도 참조하십시오.

+0

내가 알아 차 렸던 하나의 모듈입니다. 다른 하나는'scalar :: object' 일 수 있습니다. 나는'autoload'가 XS를 사용하고'scalar :: object'가 XS를 사용한다는 것을 알았습니다. 나는'scalar :: object'가 그 일을하는 방식에 좀 더 관심이 있습니다. 저수준 프로그래밍에 의지하지 않고이 작업을 수행 할 수 있는지 궁금합니다. – Geo

+3

'scalar :: object'는'overload :: constant'와 다른'overload' 마법을 사용하지만,'autobox'와 거의 같은 힘을 갖지 않습니다. 'autobox'는'-> foo()'메소드 호출 연산자 자체의 구현에 연결하여 작동합니다. – hobbs

+0

autobox는 확실히 이런 종류의 기능을 수행하는 방법입니다. – tsee

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";