Created
September 28, 2017 05:53
-
-
Save JavierCane/9bea51d986e7b49e2917c2afa25b1613 to your computer and use it in GitHub Desktop.
Introducción a Scala - 4. Val var y def
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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