Funciones de orden superior y de primera clase
DSL
Pattern Matching
Singleton
Actores
¿Qué significa reactivo?
Inmutabilidad
// Funcion de orden superior
def saySomething(prefix: String) = (s: String) => {
prefix + " " + s
}
// Funcion de primera clase
val sayHello = saySomething("Hello")
No cambia su valor una vez declarado el valor.
val empty = scala.collection.immutable.Queue[Int]()
val has1 = empty.enqueue(1)
val has123 = has1.enqueue(List(2, 3))
val (element, has23) = has123.dequeue
Es el acto de comprobar la constitución de algun patron en usa secuencia de tokens.
def matchTest(x: Any): Any = x match {
case 1 => "one"
case "two" => 2
case y: Int => "scala.Int"
}
println(matchTest("two"))
Es el acto de comprobar la constitución de algun patron en usa secuencia de tokens.
object Blah {
def sum(l: List[Int]): Int = l.sum
}
println(Blah.sum(List(1,2,3)))
Lenguajes para modelar y realizar tareas de un area especifica.
10 PRINT "Welcome to Baysick Lunar Lander v0.0.1"
20 LET ('dist := 100)
30 LET ('v := 1)
40 LET ('fuel := 1000)
50 LET ('mass := 1000)
60 PRINT "You are a in control of a lunar lander."
70 PRINT "You are drifting towards the surface of the moon."
80 PRINT "Each turn you must decide how much fuel to burn."
90 PRINT "To accelerate enter a positive number, to decelerate a negative"
Un actor es una unidad computaciones la cuale en respuesta a un mensaje que recibe, puede concurrentemente:
Crear un numero finito de actores.