El principio de acceso uniforme establece que se debe acceder a variables y funciones sin parámetros utilizando la misma sintaxis. Scala apoya este principio al no permitir que se coloquen paréntesis en los sitios de llamada de funciones sin parámetros.
Como resultado, una definición de función sin parámetros se puede cambiar a un valor, o viceversa, sin afectar el código del cliente.
En el siguiente ejemplo, tenemos codigo que compila y se ejecuta sin problemas:
def methodA = {
val a = 3
val b = 3
a + b
}
println(methodA)
aplicando el principio de acceso uniforme en Scala podemos cambiar al siguiente codigo sin afectarlo (cambio de def
a val
):
val methodA = {
val a = 3
val b = 3
a + b
}
println(methodA)
Sin embargo por el mismo principio llamar al metodoA
usando parametros generara un error:
val methodA = {
val a = 3
val b = 3
a + b
}
println(methodA())
def methodA = {
val a = 3
val b = 3
a + b
}
println(methodA())