TAP::Parser::Iterator - TAP 來源反覆運算器的基礎類別
版本 3.44
# to subclass:
use TAP::Parser::Iterator ();
use base 'TAP::Parser::Iterator';
sub _initialize {
# see TAP::Object...
}
sub next_raw { ... }
sub wait { ... }
sub exit { ... }
這是一個簡單的反覆運算器基礎類別,定義 TAP::Parser 的反覆運算器 API。反覆運算器通常由 TAP::Parser::SourceHandler 建立。
new
建立一個反覆運算器。由 TAP::Object 提供。
next
while ( my $item = $iter->next ) { ... }
當然,反覆運算它。
next_raw
注意:這個方法是抽象的,應該被覆寫。
while ( my $item = $iter->next_raw ) { ... }
反覆運算原始輸入,不套用任何古怪輸入語法的修正。
handle_unicode
如果需要,請切換輸入串流以處理 Unicode。這只對基於 I/O 句柄的串流有影響。
預設實作不執行任何動作。
get_select_handles
傳回一個檔案句柄清單,可以在 select() 呼叫中上游使用,以表示此反覆運算器已準備好。非基於句柄的反覆運算器應傳回一個空清單。
預設實作不執行任何動作。
wait
注意:這個方法是抽象的,應該被覆寫。
my $wait_status = $iter->wait;
傳回此反覆運算器的 wait
狀態。
exit
注意:這個方法是抽象的,應該被覆寫。
my $wait_status = $iter->exit;
傳回此反覆運算器的 exit
狀態。
請參閱 TAP::Parser 中的「SUBCLASSING」 以取得子類化概觀。
您必須覆寫如上所述的抽象方法。
TAP::Parser::Iterator::Array 可能是最容易遵循的範例。在此重複說明沒有太大意義。
TAP::Object、TAP::Parser、TAP::Parser::Iterator::Array、TAP::Parser::Iterator::Stream、TAP::Parser::Iterator::Process、