fp

Una biblioteca para programar en un estilo funcional
Descargar ahora

fp Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Stevan Little
  • Sitio web del editor:
  • http://search.cpan.org/~stevan/

fp Etiquetas


fp Descripción

Una biblioteca para la programación en un estilo funcional. FP es un módulo PERL, un experimento en la programación funcional. No usa nada más que una combinación de; SUBROUTINAS, la matriz @_ y algunos operadores incorporados para implementar un estilo de programación funcional. Una vez del código anterior es todo lo interesante hasta que considere que a ningún momento fue la asignación variable (=), si las declaraciones, o no recursen iteración utilizada. Aunque, sea completamente honesto, en realidad hay dos veces cuando el operador = Operador se usa en todo el módulo. La primera vez es asignar la versión del módulo, la segunda hora está dentro de la rutina de importación, pero las realmente no son partes de esta biblioteca y realmente más de la infaestructura de todos modos. La asignación privilegiada no se utiliza, en cambio, el contenido de la matriz de argumentos @_. Accedido / manipulado y aprobado como el retorno de los valores de las funciones. La recursión es el único medio de iteración, no utilizamos ninguno de los mecanismos de iteración construidos (para, foreach, mientras que, etc.). Todas las funciones no son destructivas para sus aportes, y casi todo devuelve una matriz de algún tipo, por lo que la función de encadenamiento de llamadas funciona bastante bien. Solo funciona en listas planas, ya que PERL aplanará cualquier matrices dadas como argumentos. Este código también se escribe sin efectos secundarios. Lo que significa que cada función está escrita para expresar un algoritmo que produce su resultado en lugar de producir su resultado a través de la coerción de los efectos secundarios. Aquí hay un ejemplo de lo que quiero decir, utilizando funciones de predicado pares / impares. Con efectos secundarios: Sub is_Even {(($ _ % 2) == 0); } Sub is_odd {(($ _ % 2)! = 0); } sin efectos secundarios: sub _Even {($ _ <= 0)? cierto: is_odd ($ _ - 1); } sub is_odd {($ _ <= 0)? FALSO: IS_EVEN ($ _ - 1); } Sinopsis usa FP; # Filtrar todo ser el filtro de números pares (función {is_even (cabeza (@_))}, rango (1, 100)); # dividir la cadena, obtener una lista única de él # luego obtener la longitud de esa lista, y luego verifique que sea igual a 26 is_equal_to (len (Único (explotar ("el zorro marrón rápido saltó sobre el perro perezoso y corrió por la carretera ")))), 26); # la suma de los números 1 a 10 es 55 is_equal_to (suma (rango (1, 10)), 55); Requisitos: · Perl


fp Software relacionado