#Kata Local/Nested methods en Scala.

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.

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».

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.

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)

 

Gustavo Sánchez

Soy especialista en escribir software de calidad. Mediante el uso de marcos de trabajo, técnicas y automatización de procesos he podido reducir los costes operativos de los sistemas de la empresa. Sistemas confiables y adaptables producen clientes felices.

Site Footer