Los ejemplos se añadirán en este objeto
object Leccion1 { def ejemplo1 = println ("Ejemplo 1 ") val ejemplo2:()=>Unit=()=> println ("Ejemplo 2") def main(args: Array[String]): Unit = { val listaDescripciones= Array( "Función definida a partir de un método", "Función anónima almacenada en una variable") // ejemplo1 es un método que se usa para definir una función _ => ejemplo1 // se puede definir dicha función con la sintáxis ejemplo1 _ // ejemplo2 es un nombre dado a una función anónima del tipo () => Unit // no compila val listaFunciones=Array(ejemplo1 , ejemplo2) val listaFunciones=Array( ejemplo1 _, ejemplo2) val listaPares:Array[(String,()=>Unit )] = listaDescripciones zip listaFunciones val numFunciones = listaPares.length println ("Introduce un número de 1 a "+ numFunciones .toString) val indice = readInt println println(listaPares(indice-1)._1) (listaPares(indice-1)._2)() // también listaFunciones(indice-1)() } }