우리는 더 이상 신경 쓸 필요가 없도록 commit() 및 rollback()을 자동으로 지원하는 API를 빌드하려고합니다. 조사한 결과 eval {}
을 사용하는 것이 좋습니다.Perl에서 함수 배열 사용 정보
eval {}
무엇을 해야할지 알고 싶다면 API를 입력하지 않고도 foreach
과 함께 실행할 수있는 함수 배열을 API에 제공 할 생각이었습니다. 그러나이 기능은 다른 패키지에있을 수 있습니다.
날 예제를 통해 명확히하자
sub handler {
use OSA::SQL;
use OSA::ourAPI;
my @functions =();
push(@functions, OSA::SQL->add_page($date, $stuff, $foo, $bar));
my $API = OSA::ourAPI->connect();
$API->exec_multi(@functions);
}
질문입니다 : 가능 ourAPI 더 use OSA::SQL
이없는 경우에도, OSA::ourAPI
의 내부 @functions
의 기능을 수행하는 것입니다. 그렇지 않다면 포인터가 메모리 내부의 알려진 함수를 가리 키도록 배열 대신 배열 참조를 사용하면 가능합니까?
참고 : 더 복잡한 최종 버전을 기반으로하고 싶다는 기본 아이디어입니다.
"OSA :: ourAPI 내부에서 주어진 함수를 실행하십시오."라는 말을 이해하지 못합니다. – cjm
나는 명확하게하기 위해 나의 질문을 편집했다. @functions 내부의 함수는 내가 말하는 것들이다. – Mike
'eval'은 거의 쓸모가 없습니다 ... 메소드 안에'use' 문을 두는 것은 메소드가 실행될 때까지 실행을 지연시키지 않습니다. 파일이 파싱 될 때 즉시 실행됩니다. – Ether