PARTNERI:

Marketing


-UPOZORENJE-

Samo registrovani članovi mogu da vide/koriste forum u celini.
Prijavite se ili registrujte nalog na Balkan SA-MP forumu.


Autor Tema: [Tutorial] Single line statements  (Pročitano 181 puta)

0 članova i 1 gost pregledaju ovu temu.

Van mreže Vasic

Single line statements
« poslato: Maj 14, 2022, 18:48:14 posle podne »
Single line statements - goto, break, continue, return

goto - goto je u suštini skok, ide na oznaku bez pitanja (tj. nema uslova da bude istinit)
Pawno Code: [Izaberi]
goto my_label;
 
// Ovaj odeljak će biti preskočen

my_label: // Oznake se završavaju dvotačkom i nalaze se na sopstvenoj liniji

// Ovaj odeljak će biti obrađen normalno

Primer goto naredbe u ulozi petlje:
Pawno Code: [Izaberi]
new
a = 9;
 
loop_start:
if (a < 10)
{
// Kod unutar petlje
a++;
goto loop_start;
}
// Kod nakon petlje

Upotreba goto naredbe je široko obeshrabrena zbog njenog uticaja na tok programa.


break - break naredba "zaustavlja" petlju, završavajući je prerano.
Pawno Code: [Izaberi]
for (new a = 0; a < 10; a++)
{
if (a == 5) break;
}

Ova petlja će se izvršiti 6 puta, ali će kod nakon prekida biti izvršen samo 5 puta.


continue - continue u osnovi preskače iteraciju petlje.
Pawno Code: [Izaberi]
for (new a = 0; a < 3; a++)
{
if (a == 1) continue;
printf("a = %d", a);
}

Ovo će dati output:
a = 0, a = 2

Naredba continue u osnovi skače na zagradu za zatvaranje petlje, kao što je već napomenuto gore. Morate biti oprezni kada koristite continue sa nekim petljama:
Pawno Code: [Izaberi]
new
a = 0;
while (a < 3)
{
if (a == 1) continue;
printf("a = %d", a);
a++;
}

Ovo izgleda veoma slično prvom primeru, ali ovog puta continue će preskočiti a++; liniju, tako da će se petlja zaglaviti u beskonačnoj petlji jer će a uvek biti 1.


return - return zaustavlja funkciju i vraća se na tačku u kodu koja je pozvala funkciju na prvom mestu.
Pawno Code: [Izaberi]
main()
{
print("1");
MyFunction(1);
print("3");
}
 
MyFunction(num)
{
if (num == 1)
{
return;
}
print("2");
}

Ovo će dati output:
1 3
Zato što print("2"); linija nikada neće biti dostignuta.
Takođe možete da koristite return da biste vratili vrednost:
Pawno Code: [Izaberi]
main()
{
print("1");
if (MyFunction(1) == 27)
{
print("3");
}
}
 
MyFunction(num)
{
if (num == 1)
{
return 27;
}
print("2");
return 0;
}

Taj kod će dati isti output kao gore, ali imajte na umu da je dodatni return dodat na kraj funkcije. Kraj funkcije ima impliciran return, međutim ovaj return nema vrednost, ne možete vratiti vrednost i "ne vratiti" vrednost iz iste funkcije, tako da moramo eksplicitno da vratimo vrednost.

Simbol koji vraćate može biti broj, promenljiva ili čak druga funkcija. U tom slučaju će druga funkcija biti pozvana, ona će vratiti vrednost i ta vrednost će biti povraćena iz prve funkcije.

Takođe možete da sačuvate povratne vrednosti za kasniju upotrebu:
Pawno Code: [Izaberi]
main()
{
print("1");
new
ret = MyFunction(1);
if (ret == 27)
{
print("3");
}
}
 
MyFunction(num)
{
if (num == 1)
{
return 27;
}
print("2");
return 0;
}


Hvala Vam što ste odvojili vreme da pročitate tutorijal.

Moguće su greške, ne zamerite. Ukoliko uočite nešto što je nepravilno, napišite u komentaru.
Ukoliko Vam treba dodatna pomoć oko ove oblasti, napišite u komentaru ove teme (ne privatne poruke).
Sve ovo možete da pronađete online, ili na alternativnim samp-wiki stranicama, ali evo i ovde za one lenje osobe.
• Website: www.vasic.dev
Cyber Security Enthusiast
 
Korisnici koji su se zahvalili: neshallon

Van mreže neshallon

Odg: Single line statements
« Odgovor #1 poslato: Maj 14, 2022, 20:57:46 posle podne »
Ovo se zove tutorijal  8)
The future belongs to your dream

Offline Forever
 
Korisnici koji su se zahvalili: Vasic