not

La negación booleana como una función que puedes pasar de un lado a otro.

bool not(bool a) => !a;

Lección

not hace exactamente lo mismo que !a — solo que lo hace como función de primera clase, así que puedes pasarlo donde se espera un bool Function(bool) en lugar de escribir tú mismo (b) => !b. El not de FxTS opera sobre valores «truthy» de JavaScript de cualquier tipo; Dart no tiene valores truthy implícitos, así que el port a Dart solo acepta un bool real.

Como su firma es bool -> bool, not sirve además como predicado en sí mismo siempre que el tipo de los elementos ya sea bool — mira some/every en la Demo 2. Para negar un predicado cualquiera sobre otro tipo, usa negate.

Demo 1 · Fundamentos

Demo 2 · Como predicado sobre booleanos

not es en sí mismo un bool Function(bool), así que encaja directamente en some/every sin envolturas:

Pruébalo tú

Ejercicio: usa not para construir la lista de flags «aún pendiente» a partir de una lista de flags «hecho».

Relacionado: negate — niega una función predicado entera, no solo un bool · some / every — usados arriba junto a not · when — transformación condicional · unless — el hermano de when con la condición invertida