Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: gillemp en Febrero 28, 2015, 04:08:52 PM

Título: Diferencia entre "=" y "=="
Publicado por: gillemp en Febrero 28, 2015, 04:08:52 PM
Hola, me gustaría saber que diferencia hay entre escribir "=" y "==".
Gracias!  :)
Título: Re:Diferencia entre "=" y "=="
Publicado por: Silver_light en Febrero 28, 2015, 04:21:28 PM
En algunos lenguajes de programación como son C y C++ esto tiene un significado bastante importante:
"=" se usa para asignaciones exclusivamente, mientras que "==" se usa para comparaciones, por ejemplo:

[GML]
a = 3; // asignación

if (a == 3) // comparación
{
}
[/GML]

-Sin embargo en GML de Game Maker es indistinto el uso de "=", se usa tanto para comparaciones como para asignaciones:

[GML]
a = 3; // asignación valida

if (a=3) // comparación valida
{
}
[/GML]

No así con el doble igual "==", que solo es aceptado para las comparaciones:
[GML]
a == 3; // asignacion NO valida

if (a==3) // comparacion válida.
{
}
[/GML]

-En mi opinión personal es altamente recomendable utilizar "=" para tener que evitar el hecho de recordar cuándo usarlo o no, y quizá por ahí provoque algunos errores de sintaxis si no se tiene cuidado.

Saludos!
Título: Re:Diferencia entre "=" y "=="
Publicado por: Clamud en Febrero 28, 2015, 04:32:06 PM
Fuera de un if, "==" se puede usar como un operador que sirve para comparar, ejemplo:
[gml]
c = (a == b); //asignar el valor 0 ó 1
c += (a == b); //sumar 0 ó 1
[/gml]

Yo prefiero usar "==" dentro de los ifs para visualizar rápidamente que estoy haciendo una comparación.
Título: Re:Diferencia entre "=" y "=="
Publicado por: vitail en Febrero 28, 2015, 05:02:15 PM
= sirve para asignar

== sirve para comparar

!= sirve para decir que el resultado que esta a su derecha si no es el igual a

Ejemplos

Una variable necesita un simbolo de asignacion
vidas = 3

en cambio si usaras un if y quieres hacer de que si el valor de X variable pase tal accion se tendria que usar la comparacion

if(vidas == 0){
    game_end();
}


y la yapa que es el != sirve cuando quieres que en un if o alguna condicion si el resultado no es el que esta a la derecha pasa la accion


if(Manzanas != 0)
{
    show_message('Todavia tienes manzanas!');
}