Dyskusja:D/Instrukcje sterujące
Dodaj tematOdnośnie tego kodu
int a = 5; int b; if (a == 5 || a == 7) { writefln("a jest równe:"); writefln("pięć"); writefln("albo"); writefln("siedem"); b = 2*a; }
Małe, ale :-). (...) writefln("albo"); (...) może sugerować, że || oznacza funkcję logiczną xor, a przecież jest to or. Prada że w tym wypadku znaczenie logiczne wyrażenia jest takie samo, ale gdyby były porównywane dwie różne zmienne, to już by tak nie było, np:
a=2; b=2;
a == 2 or b == 2 zwróci prawdę a == 2 xor b == 2 zwróci fałsz, albo a==2, albo b == 2
Instrukcja goto
[edytuj]Hmm... chciałbym poruszyć kwestie goto. Argument przeciw tej instrukcji (rzekome zaciemnianie kodu) jest zupełnie bzdurny. Przecież skok można wykonać tylko w obrębie funkcji, a nie tak jak dawniej bywało (gdy języki nie miały funkcji), że goto mogło skakać faktycznie po całym kodzie w górę i w dół. Klasy też można używać tak, że zaciemniają cały kod, a przecież nikt nie zaleca ich unikania.