PREVIOUS
Chapter
03
Finalmente, una función no debe tener efectos colaterales. Algunos ejemplos de efectos colaterales son los siguientes:
Esto significa que una función pura sólo puede trabajar con valores inmutables y sólo puede retornar una salida para una entrada correspondiente, nada más.
Por ejemplo, la siguiente función increment no es pura porque trabaja con una variable mutable a:
var a = 0;
def increment(inc: Int): Int = {
a += inc
a
}
Y la siguiente función tampoco es pura porque imprime un mensaje en la consola:
def add(a: Int, b: Int): Int = {
println(s"Adding two integers: $a and $b")
a + b
}