Bio :: pullpararsi.

BIO :: PullParseri ist ein Basismodul zum schnellen 'Pull'-Parsing.
Jetzt downloaden

Bio :: pullpararsi. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Sendu Bala
  • Website des Verlags:
  • http://search.cpan.org/~sendu/

Bio :: pullpararsi. Stichworte


Bio :: pullpararsi. Beschreibung

BIO :: PullParseri ist ein Basismodul zum schnellen 'Pull'-Parsing. BIO :: PullParseri ist ein Basismodul für schnelle 'Pull'-PARSING.Synopsis # Verwenden Sie diese Klasse nicht, es ist für Parser-Modul #-Writer nur, wenn Sie ein Modul schreiben, um ein neues Format zu analysieren, möchten Sie möglicherweise ein " Ziehen Sie 'Annäherungsansatz, wonach Sie nur arbeiten (Lesen von Dateidaten, Parsing it, die Analysedaten in einem Objekt drehen), wenn absolut notwendig. Als Pullparer brauchst du einen Chunk. Ein Chunk ist nur ein BIO :: root :: io, der alle Rohdaten enthält, die Sie analysieren möchten. Sie können die Methode von Chunk () verwenden, um einen Chunk aus einem Dateinamen, vorhandenen Dateihandle oder sogar einer Zeichenfolge zu erstellen. Wenn Sie einen Chunk aus einer großen Datei schaffen, aber eigentlich möchten, dass Ihr Brocken nur ein Teil der gesamten Datei ist, geben Sie den Start- und Endbeträgen in Bytes in Bytes an Chunk () zur gleichen Zeit an. Die Methoden _Chunk_Seek () und _Chunk_tell () stellen sucht und erzählt, dass sie relativ zum Start und Ende Ihres Chunks sind, nicht die gesamte Datei. Die andere Sache, die Sie entscheiden müssen, wenn Sie ein Chunk erstellen, ist, wie ein Piped-Eingang umgeht. Ein Pullparer benötigt typischerweise suchbare Daten zum Analysieren, wenn also Ihre Daten ein- und unsichtbar sind, müssen Sie zwischen Erstellen einer Temp-Datei entscheiden oder den Eingang in den Speicher lesen, der vor dem Verwendungszweck erfolgen wird, bevor der Chunk verwendet wird, und Sie können ein Analyse anfangen. Alternativ können Sie ein sequentielles Lesen entscheiden, in dem Sie _dependencies () verwenden können, um die lineare Reihenfolge der Methoden zu definieren, die dazu führen, dass die Datei sequentiell gelesen wird. Der Rückgabewert von _sequential () ist hier auch nützlich, wenn Sie einige Daten zwischenspeichern müssten oder während eines sequentiellen Leseblatts anderweitig verhalten. Die Hauptmethode im System ist GET_FIELD (). Diese Methode setzt auf die Existenz einer privaten Hash-Referenz, die mit der Methode _fields () zugänglich ist. Dieser Hash-Ref sollte als Schlüssel alle möglichen Daten haben, die Sie analysieren möchten (z. B. Score '), und vor dem Analysieren wäre die Werte undefiniert. Ein Benutzer Ihres Moduls kann dann entweder $ module-> get_field ('Score') oder $ Module-> Score- und Get_FIELD anrufen, entweder die Antwort von $ self -> _ Felder -> {Score}, falls dies definiert ist, oder anrufen Eine Methode _Discover_score () zuerst, wenn nicht. Wenn Sie also für das System arbeiten, müssen Sie eine _Discover _ * * () -Methode für jedes Feld in den Felder-Hash definieren, und stellen Sie sicher, dass die Methode eine Antwort in den Feldern speichert, wie Sie Ihre _Discover_ * -Methoden implementieren können Sie sollten niemals ein _Discover_ * -Methode direkt selbst anrufen. Verwenden Sie immer GET_FIELD (), da Get_FIELD () mit den Anrufabhängigen Methoden für Sie umgehen wird, wenn ein erzwungener sequenktarles Lesen aufgrund des Piped-Inputs läuft. Sie möchten fast sicherlich die verschiedenen Methoden dieser Klasse verwenden möchten (die von der führenden '_' bezeichnet werden; Dies bedeutet, dass Sie sie als Autor einer Parserklasse verwenden können, aber Benutzer Ihres Parsers sollten Nichts) Das Chunk kennt über seine Zeilenendungen, wenn Sie möchten, dass Ihre Enddefinition, um eine neue Zeile aufzunehmen, einfach immer "n" verwenden, und pullparseri wird für Sie eine erforderliche Konvertierung verwendet. Wenn Ihre Eingabedaten hierarchisch sind (z. B. Bericht) Viele Ergebnisse-> Viele Treffer-> Viele HSPs), und Sie möchten, dass ein Objekt im Blatt der Hierarchie Zugriff auf Informationen hat, die von allen geteilt werden (in der Wurzel analysiert), müssen Sie nicht kopieren die Daten an jedes Blattobjekt; Wenn Sie einfach () definieren (), wenn Sie GET_FIELD () anrufen, und das angeforderte Feld ist nicht in den Feldern Ihres Blatt-Felders HMMER_PULL für ein Beispiel für das Implementieren eines Parsers mit PullParseri. Anforderungen: · Perl.


Bio :: pullpararsi. Zugehörige Software