Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JavierCane/9bea51d986e7b49e2917c2afa25b1613 to your computer and use it in GitHub Desktop.
Save JavierCane/9bea51d986e7b49e2917c2afa25b1613 to your computer and use it in GitHub Desktop.
Introducción a Scala - 4. Val var y def
import scala.util.Random
var javi = "Javi" * 10 // Inferencia de tipos
javi = "Rafa" // podemos reasignar el contenido de una variable (var)
val rafa = "Rafa" // ";" al final de línea no necesario
// rafa = "Javi" // Petaría en tiempo de compilación. No podemos reasignar el contenido de un valor (val)
def codely(name: String): String = { // función pública con tipo de retorno explícito. Se declaran con = ya que asignamos una expresión.
println("Este mensaje se imprimirá por pantalla al invocar a la función codely")
name * 4 // No hace falta return. En Scala siempre retornamos la última sentencia de un bloque
}
val codelyVal = Random.nextInt()
def codelyDef = Random.nextInt()
codelyVal // Obtendremos un entero aleatorio
codelyVal // Obtendremos exactamente el mismo entero aleatorio que en la invocación anterior. Al ser un val, no se vuelve a evaluar
codelyVal // Idem 🔝
codelyDef // Obtendremos un entero aleatorio
codelyDef // Obtendremos otro entero aleatorio potencialmente diferente al de la invocación anterior. Al ser un def, se vuelve a evaluar
codelyDef // Idem 🔝
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment