identity
Devuelve su argumento sin modificarlo.
Lección
identity es la función más simple de la librería, y una de
las más útiles: recibe un valor y lo devuelve tal cual. Por sí sola
parece inútil. Su valor aparece siempre que una API espera una
función pero en realidad no quieres transformar nada: una
función clave por defecto para groupBy/sortBy, una
rama de relleno en una tabla de despacho o el brazo «no hace nada» de un
pipeline condicional.
Como identity es genérica (T identity<T>(T a)),
encaja en cualquier hueco que pida una función unaria sin que tengas que escribir
(x) => x a mano. No tiene variante asíncrona ni forma de
cadena: es una función corriente de valor a valor que pasas de un lado a otro.
Demo 1 · Fundamentos
Usada directamente y como función clave de una agrupación en la que «agrupar por el propio valor» es justo lo que quieres:
Demo 2 · Como la rama que «no hace nada»
Una tabla de despacho de transformaciones de cadenas de texto, en la que una entrada no hace
nada a propósito: identity ocupa ese hueco limpiamente, sin
escribir una lambda vacía a mano:
Pruébalo tú
Ejercicio: sortBy recibe una función clave. Usa identity
como esa clave para ordenar esta lista de palabras por su orden natural (alfabético).