Io :: lambda

E / S de no bloqueo en estilo lambda
Descargar ahora

Io :: lambda Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Dmitry Karasik
  • Sitio web del editor:
  • http://search.cpan.org/~karasik/Prima-1.26/pod/Prima/Widget.pod

Io :: lambda Etiquetas


Io :: lambda Descripción

E / S que no bloquea en estilo lambda Io :: Lambda es un módulo Perl con E / S de no bloqueo en estilo Lambda.Synopsisthe, el código a continuación, ejecuta las solicitudes de HTTP paralelas, use estricto; Utilice io :: lambda qw (: lambda); Usa IO :: Socket :: Inet; # Crear un objeto Lambda Sub http {my ($ host, $ url) = @_; My $ Socket = Io :: Socket :: Inet-> Nuevo (PeerAddr => $ host, peerport => 80); lambda {contexto $ socket; Escribir {imprimir $ socket "obtener $ URL http / 1.0 "; My $ buf = ''; leído {devuelva $ buf, a menos que Sysread ($ Socket, $ BUF, 1024, Longitud ($ BUF)); de nuevo;}}}} # FUEGO DE UN SOLO LAMBDA Y ESPERETE HASTA QUE COMPLETE LLUSE http ('www.perl.com', '/') -> Espere; # Despliegue una lambda que espera a dos solicitudes HTTP en paralelo lambda {contexto http ('www.perl.com', '/'), http ('www.google.com', '/'); colas {imprimir @_;}} -> esperar; Nota: IO y Lambda son sinónimos - Personalmente prefiero lambda pero algunos encuentran la palabra ligeramente inapropiada, por lo tanto, El módulo es otro intento de luchar contra los horrores de la programación de E / S de no bloqueo. Intenta recuperar la simplicidad del estilo de programación declarativo, que solo está disponible cuando uno emplea hilos, coroutinas o coprocesos. Generalmente codificando no -Bloqueo de E / S para un proceso único, los programas de un solo hilo requieren la construcción de máquinas estatales, a menudo bastante complejas, lo que no ayuda a la claridad del código. No es diferente a las mónadas en idiomas funcionales, que imponen el orden de ejecución en general. Funciones sin orden, este marco ayuda a programar a expresar el orden de ejecución de las devoluciones de llamadas de E / S en un estilo de codificación que se asemeja a la programación secuencial y declarativa. El manual comienza con los ejemplos de código, luego explica los supuestos básicos, y finalmente se obtiene de los conceptos complejos, Donde comienza la verdadera diversión. Puede saltarse directamente allí ("Stream io"), donde el estilo funcional se mezcla con E / S. Requisitos: · Perl


Io :: lambda Software relacionado