add
Suma dos valores del mismo tipo, como una función que puedes pasar de un lado a otro.
Lección
add(a, b) es + empaquetado como valor de función.
Como despacha a + de forma dinámica, funciona con cualquier cosa
que soporte el operador — num, concatenación de
String, incluso concatenación de List — igual que el
add de FxTS, que acepta tanto números como cadenas.
Su verdadero valor aparece allí donde una API espera una función binaria
(T, T) -> T en lugar de un
(a, b) => a + b escrito en línea — de forma muy natural como la
función combinadora de reduce/fold. Eso sí, es una
función binaria, así que para usarla como callback unario de
map (sumar una cantidad fija a cada elemento) tienes que fijar
tú mismo uno de los lados: (b) => add(n, b).
Demo 1 · Fundamentos
Demo 2 · Como reductor, y con un lado fijado para map
Pruébalo tú
Ejercicio: usa fold + add para concatenar todas
las partes en una sola cadena.
reduce / fold — el sitio habitual de add como combinador ·
sum — una suma ya hecha para Iterable<num> ·
gt · gte · lt · lte — las contrapartes de comparación de add ·
apply — llama a cualquier función con una lista dinámica de argumentos