Funciones Puras

This commit is contained in:
2025-12-08 18:59:14 +01:00
parent 392b45e2a5
commit be86b7441f
4 changed files with 126 additions and 18 deletions

View File

@@ -0,0 +1,40 @@
#Temario-BSA - Bash Scripting Avanzado
---
## ¿Qué es una "Función Pura"?
En programación, el concepto de la programación pura es aquella función que no cause efectos secundarios en el programa, cuyas funciones estén aisladas del resto del programa y no afecten a nada más que a lo que se le pide que haga.
### Un ejemplo de una "Función Impura":
```SHELL
contador=0 # Esto es un estado global
incrementar() {
#Efecto secundario: Se esta modificando una variable externa
contador=$((contador + 1))
}
incrementar
echo $contador # imprimirá 1
incrementar
echo $contador # imprimirá 2 (¡El resultado cambió sin cambiar imputs!)
```
Esta función depende de una variable global y la modifica. Si la ejecutas dos veces, el resultado cambia aunque no le pases argumentos.
### Un ejemplo de una "Función Pura":
```SHELL
sumar() {
# 1. Se usa 'local' para aislar variables del resto del script
local num1=$1
local num2=$2
local resultado=$((num1 + num2))
# 2. 'Devolver' el valor por salida estándar (stdout)
echo "$resultado"
}
# Uso: Capturamos la salida
total=$(sumar 10 5)
echo "El total es: $total"
```
Esta función es aislada. Recibe datos, calcula y "devuelve" el dato imprimiéndolo (stdout), sin tocar nada más.