Gast
#1491574
Manche Funktionen funktionieren ja nur einmal (z.B. Puffer auslesen),
aber nach der Prüfung will man ggf. was mit dem Rückgabewert anfangen.
Gibt's da ne schönere Methode als:
t = f();
if (t)
{...}
|
Anzeige
|
Wenn <Rückgabewert> dann <mach was damit>
Gast
#1491574
Manche Funktionen funktionieren ja nur einmal (z.B. Puffer auslesen),
aber nach der Prüfung will man ggf. was mit dem Rückgabewert anfangen.
Gibt's da ne schönere Methode als:
t = f();
if (t)
{...}
Gast
#1491577
Ja:
if(f())
{...}
Gast
#1491629
Das kommt darauf an, wie Du den Rückgabewert weiter auswerten möchtest!
Die Alternative von Robert bietet sich nur an, wenn Du den Wert genau einmal überprüfen möchtest. Wirf vielleicht mal einen Blick auf die swtich/case-Anweisung:
Generell ist die Lösung, den Rückgabewert in einer Variable zu speichern aber nicht schlecht. Gruß, Peter
Gast
#1491632
Ups, irgendwie habe ich Deinen Beispielcode mit in meinen Post übernommen, der sollte natürlich nicht mehr drinstehen :)
Gast
#1491646
if(t = f()) {
print(t);
}
...wird immer wahr sein. Eher:
Gast
#1491723
Stefan C. schrieb:
>
> > ...wird immer wahr sein. Nein, wird dann wahr sein, wenn der Rückgabewert von f() wahr ist. > Eher: >
Nein, wird nur dann wahr sein, wenn t gleich dem Rückgabewert von f() ist.
Gast
#1491732
Ich schreib in solchen Fällen gerne explizit
Dann weiß ich auch noch, wenn ich ein halbes Jahr später im Code irgendeinen Fehler suche, dass das '=' statt '==' im 'if' Absicht war.
Gast
#1491749
Jo, aber ich wollts knackig halten. Lesbar ist was anderes, da hast du schon Recht.
Gast
#1491986
Perfekt, das sieht doch schon besser aus. Danke! Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|