¿Por qué programación funcional?

  • Principios de razonamiento simples
  • Mejor modularidad
  • Bueno para explotar paralelismo para multinúcleos y computación en la nube

Funciones

Una función es una definición que puede contener parámetros, por ejemplo:

// Función que regresa el cuadrado de un número:

// Declaración:

def cuadrado(n: Double) = n * n //> cuadrado: (n: Double)Double

// Uso y resultado:

cuadrado(10) //> res2: Double = 100.0

 

En el ejemplo anterior, la función regresa el resultado en la misma línea, en caso de requerir alguna construcción más compleja, se puede definir un bloque, por ejemplo:

// Función que regresa el mayor de dos números

// Declaración:

def mayor(n1: Int, n2: Int) = {

     if (n1 > n2)

          n1

     else

          n2

} //> mayor: (n1: Int, n2: Int)Int

// Uso y resultado:

mayor(12,9) //> res3: Int = 12

 

Los tipos de datos se pueden encontrar en: http://www.tutorialspoint.com/scala/scala_data_types.htm

One thought on “Scala_02 – Funciones


  • By Link - Reply

    Estoy terminando el curso FunProg de Scala en Coursera y todo el tema de tener funciones b50 como ciudadanos de primer nivel es un gran avance. Es un lenguaje muy potente y conciso, y lo unico que lamento es tener que volver cada ma;ana a Java en mi empresa.

Leave a Reply

Your email address will not be published. Required fields are marked *
You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>