Es una pregunta muy básica pero se me ha olvidado porque hace tiempo que no la uso, y ni en google ni aqui el buscador reacciona porque es un signo de exclamación.
Basicamente como usar ! para invertir valores :-[
El
! es la negación booleana, equivalente a
not. Te explico:
Partamos de que para este operador, sólo existen dos posibles valores: verdadero y falso. Estos obviamente son las constantes
true y
false del lenguaje.
Sin embargo, los demás tipos de datos (enteros y cadenas) también son tomados en cuenta como booleanos, "transformándolos" un poquito: Para GM, cualquier número real mayor o igual a 0.5 es
true, y cualquier menor a 0.5 es
false. A su vez, las cadenas de texto no pueden negarse ni utilizarse como valor booleano; de intentar hacerse, se producirá un error.
Además,
true y
false equivalen respectivamente a 1 y 0.
Ahora sí, el operador. Es muy simple: cualquier valor que tome como
true, lo convertirá en
false, y viceversa.
[gml] a = true; b = !a; //b = false
a = 2; //a = true b = !a; //b = false
c = !!7.5; //c=true [/gml] | [gml] a = true; b = not a; //b = false
a = 2; //a = true b = not a; //b = false
c = not not 7.5; //c=true [/gml]
|
Muchas gracias, no sabía que se podía utilizar not, había pensado en hacerlo mas guarro, con un if comprobando, pero esto mucho mas rapido y limpio :)