!=
a b != deja verdadero si los dos números son distintos. La de *.refeye *.myeye !=, «no es de los míos».
Datos
- Palabra
!=- Familia
- Comparaciones
- Pila entera
- saca 2, pone 0
- Pila booleana
- saca 0, pone 1
- Qué hace
- Saca dos números y apila verdadero si son distintos. Con la pila vacía da falso.
- Costo
- Condición
- Se ejecuta en
- dentro de un gen: en la condición (cond) y en el cuerpo (start o else)
a b != saca dos números y apila verdadero si son distintos y falso si son iguales. Es exactamente lo contrario de =: 3 4 != es verdadero y 3 3 != es falso.
Su uso más conocido es no atacar a la propia especie. .refeye es la cantidad de lecturas de ojo en el ADN de lo que el bot está mirando y .myeye la del propio bot; si difieren, casi seguro es otra especie. Este gen dispara (.shoot) solo si ve algo (.eye5) y no es de los suyos:
' dispara a lo que ve, si no es de su especie
cond
*.eye5 0 >
*.refeye *.myeye !=
start
-1 .shoot store
stopLa inversa no es tan segura: dos especies distintas pueden tener, por casualidad, la misma cantidad de ojos.
También sirve para detectar cambios: *.eye5 *50 != es verdadero cuando lo que ve el ojo del medio cambió respecto de lo que guardaste en la celda 50. Si el cambio tiene que superar un margen, usá !%= o !~=.
Con la pila entera vacía compara 0 con 0 y da falso. Las demás comparaciones están en Comparaciones.