"=" vs "=="

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wenn man im if-statment eine genaue Angabe machen will schreibt man das ja so:

    GML-Quellcode

    1. if (variable = 3)
    2. {
    3. //ist ja egal...
    4. }

    Ich habe aber schon in einigen Examples oder Tutorials ein Doppelgleichzeichen gesehen. Also so:

    GML-Quellcode

    1. if (variable == 3)
    2. {
    3. //auch egal...
    4. }

    Wo gibts da einen Unterschied? Ich hab noch keinen gefunden....
    kostenlose Android-Spiele:
    hexavirScribble Triple

    Mr. Peperonico auf Facebook
  • Genau so ist es. Ich schreibe das doppelte Gleichheitszeichen eigentlich auch nur, damit ich es mir nicht falsch angewöhne und dann in anderen Programmiersprachen öfter Fehler mache. Vor allem wird die Sache dann auch verständlicher und unterscheidbarer. Das ich im if Statement keine Zuweisung machen will, weiß zwar der Game Maker und macht dann wohl intern (weiß nicht ob Delphi diese Unterscheidung macht) ein == aus dem =.

    if (x==2) y=3;
    ist für mich übersichtlicher als:
    if (x=2) y=3;
    Da seh ich sofort, dass nach dieser Zeile x NICHT auf 2 gesetzt wurde, aber das ist Geschmackssache.
    Ich setze auch immer ein Semikolon ans Ende jeder Anweisung...
    Einige meiner Spiele:
  • Man kann mit == einfache Abfragen ohne if machen, da == schon ein binärer Vergleich ist.

    Ein kleines Beispiel:

    GML-Quellcode

    1. b=(a==2);


    b wird true bzw. 1 wenn a 2 ist und false bzw. 0 wenn a nicht 2 ist.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Da fällt mir doch spontan ne frage zu ein:

    Die Unterscheidung von "=" und "==" bringt in anderen Programmiersprachen auch Vorteile mit sich.
    Z.b. in PHP benutze ich sehr gerne folgenden Ausdruck:

    Quellcode

    1. ...
    2. while (($file = readdir($handle)) !== false)
    3. ...


    Ist sowas auch im GM möglich. Also eine gleichzeitige Zuweisung und Abfrage:
    Vielleicht so?

    GML-Quellcode

    1. ...
    2. while ((file = file_find_next(handle)) != false)
    3. ...
  • Benutzer online 1

    1 Besucher