En este post te voy a explicar como aplicar local methods en tus funciones de Scala.
Primeros pasos.
Un método local o anidado es aquel que se declara dentro de otro. Solo puede ser usado y visualizado en el contexto.
This file contains hidden or 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
def mainMethod(a:Int,b:Int) = { | |
def localMethod(result:Int) = { | |
println(result) | |
} | |
localMethod(a + b) | |
} | |
mainMethod(10, 20) |
Declaración.
Puedes declarar los métodos locales en cualquier parte del cuerpo del método principal, con una excepción no pueden estar después del «return».
This file contains hidden or 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
def mainMethod(a:Int,b:Int): Unit = { | |
localMethod(a + b) | |
def localMethod(result:Int): Unit = { | |
println(result) | |
} | |
anotherLocalMethod() | |
return | |
// This code is marked as unreachable | |
def anotherLocalMethod(): Unit = { | |
println("I'm another local method") | |
} | |
} | |
mainMethod(10, 20) |
Contexto.
Un método local únicamente puede ser utilizado en el contexto donde fue creado.
This file contains hidden or 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
def mainMethod(a:Int,b:Int): Unit = { | |
localMethod(a + b) | |
def localMethod(result:Int): Unit = { | |
println(result) | |
} | |
} | |
// This will cause a compilation error | |
localMethod(10) | |
mainMethod(10, 20) |
Últimas entradas de Gustavo Sánchez (ver todo)
- NVL in SQL Server - 2023-11-01
- ¿Que es Cake Build? - 2023-02-22
- #How to fix error: MSB4019: The imported project «Microsoft.Data.Tools.Schema.SqlTasks.targets» was not found - 2023-02-20