Texto :: Filtro

Clase base para objetos que pueden leer y escribir líneas de texto
Descargar ahora

Texto :: Filtro Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Johan Vromans
  • Sitio web del editor:
  • http://search.cpan.org/~jv/

Texto :: Filtro Etiquetas


Texto :: Filtro Descripción

Clase base para objetos que pueden leer y escribir líneas de texto. Texto :: El propósito principal del filtro es abstraer los detalles sobre cómo se debe hacer la entrada y salida. Aunque en la mayoría de los casos, la entrada provendrá de un archivo, y la salida se escribirá en un archivo, los módulos avanzados requieren un control más detallado sobre la entrada y la salida. Por ejemplo, el módulo podría llamarse desde otro módulo, en este caso, el callee podría permitirse procesar solo una parte de la entrada. O, un programa podría haber preparado datos en una matriz y desea llamar al módulo para procesar estos datos como si se lea de un archivo. Además, el flujo de entrada proporciona una funcionalidad de envoltura para hacer asomándose en la entrada Easy.Text :: Filtro se puede usar por sí solo como un controlador de entrada / salida conveniente. Por ejemplo: use texto :: Filtro; My $ Filter = Text :: Filter -> (Entrot => * stdin, salida => * stdout); mi línea $; Mientras (definido ($ línea = $ filtro-> Readline)) {$ Filter-> WritLine ($ línea); } O, incluso más simple: use texto :: Filtro; Texto :: Filtro-> Ejecute (entrada => * stdin, salida => * stdout); Su poder real se muestra cuando dicho programa se convierte en un módulo para una reutilización óptima. Cuando crea un módulo que es para procesar líneas de texto, Se puede derivar del texto :: Filtro, por ejemplo: paquete MyFilter; Use la base 'Texto :: Filtro'; El método del constructor debe llamar al nuevo () método del texto :: Clase de filtro para configurar la clase base. Esto se hace convenientemente llamando a Sup :: New (). Un hash que contiene atributos debe pasarse a este método, algunos de estos atributos serán utilizados por la configuración de la clase base. Sub nuevo {My $ Class = Shift; # ... fetch argumentos no atributos de @_ ... # Crear la instancia, utilizando los argumentos de atributo. My $ Self = $ Class-> Super :: New (@_); Finalmente, el objeto recién creado debe ser re-bendito en la clase deseada, y devuelto: # se llena a la clase deseada. bendice ($ self, $ clase); } Al crear nuevas instancias para esta clase, se pueden usar los atributos de entrada y salida para especificar cómo se va a manejar la entrada y la salida. Se pueden suministrar varios valores posibles para estos atributos. Para la entrada: * un escalar, que contiene un nombre de archivo. Se abrirá el archivo con nombre, las líneas de entrada se leerán usando. * Un mango de archivo (Glob). Las líneas se leerán usando. * Una instancia de clase IO :: Archivo. Las líneas se leerán usando. * Una referencia a una matriz. Las líneas de entrada se cambiarán () ED de la matriz. * Una referencia a un escalar. Se tomarán líneas de entrada de los contenidos del escalar (que se modificarán). Cuando se agota, se establecerá para indefinido. * Una referencia a una subrutina anónima. Esta rutina se llamará para obtener la siguiente línea de datos. El valor predeterminado es leer la entrada utilizando DE OPERADOR. Para la salida: * un escalar, que contiene un nombre de archivo. El archivo con nombre se creará automáticamente, las líneas de salida se escribirán mediante la impresión (). * Un mango de archivo (Glob). Las líneas se escribirán utilizando la impresión (). * Una instancia de clase IO :: Archivo. Las líneas se escribirán utilizando la impresión (). * Una referencia a una matriz. Las líneas de salida serán empujadas () ed en la matriz. La matriz se inicializará a () si es necesario. * Una referencia a un escalar. Se agregarán líneas de salida al escalar. El escalar se inicialará a "" si es necesario. * Una referencia a una subrutina anónima. Se llamará a esta rutina para agregar una línea de texto al destino. El valor predeterminado es escribir la salida a STdout. Los atributos adicionales se pueden usar para especificar acciones que se realizarán después de que los datos sean recuperados o antes de ser escrito. Por ejemplo, para desprendir las terminaciones de línea al ingresar, y agregarlas sobre la salida. Existen pleturas de herramientas que operan como filtros: obtienen datos de una fuente, operan en estos datos y escriben datos posiblemente modificados a un destino. En el mundo de Unix, estas herramientas se pueden encadenar utilizando una técnica llamada Pipelining, donde la salida de un filtro está conectada a la entrada de otro filtro. Se informa que algunos mundos no UNIX tienen disposiciones similares. Para crear módulos PERL para la funcionalidad del filtro parece trivial al principio. Simplemente abra el archivo de entrada, lea y procese, y escriba la salida a un archivo de destino. Pero para los módulos realmente reutilizables, este enfoque es demasiado simple. Un módulo reutilizable no debe leer y escribir archivos en sí, sino que se basa en el programa de llamadas para proporcionar entrada, así como para manejar la salida.Text :: Filter es una clase base para los módulos que tienen en común que tienen las líneas de texto al leer de Alguna fuente (generalmente un archivo), manipulando los contenidos y escribiendo algo a algún destino (generalmente algún otro archivo). Este módulo se puede usar en sí mismo, pero es más poderoso cuando se usa para derivar módulos. Consulte Ejemplos de la sección para un extenso ejemplo. Requisitos: · Perl


Texto :: Filtro Software relacionado

filtrante

permite que las pruebas de la unidad se diseñen para los programas de línea de comandos ...

125

Descargar