gt · gte · lt · lte
Comparaciones data-first, como valores de función en lugar de operadores.
Lección
gt, gte, lt y lte
son los cuatro operadores de orden empaquetados como funciones
data-first: gt(a, b) == (a > b), con el primer
argumento a la izquierda, exactamente igual que el operador. Eso los
convierte en comparadores listos para usar allí donde una API espera una
función en vez de un operador infijo.
Por dentro exigen que ambos valores sean mutuamente
Comparable y — con una excepción — del mismo tipo exacto en
tiempo de ejecución: num con num y
String con String sí pueden mezclarse (así que
un int puede compararse con un double), pero
cualquier otra combinación de tipos distintos lanza un
ArgumentError en lugar de convertir en silencio.
Ninguna de las cuatro está currificada — no existe la aplicación parcial
gt(5). Para obtener un predicado unario reutilizable (por
ejemplo, para filter), escribe un pequeño closure que fije
uno de los lados: (b) => gt(b, 5).
Demo 1 · Fundamentos, y el error por tipos incompatibles
Demo 2 · Currificar en un predicado para filter
Pruébalo tú
Ejercicio: quédate solo con las edades que son gte 18 (adultos).