GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Tanuljunk PAWN nyelvet => A témát indította: Koncz_Norbert - 2011. szeptember 26. - 17:23:22

Cím: [ Leírás ] GOTO struktúra
Írta: Koncz_Norbert - 2011. szeptember 26. - 17:23:22
Bevezetés
Kevesen ismerik ezt a megoldást ezért gondoltam leírom. Valójában idozítoként ( Timer ) / folyamatként ( Loop ) is funkciónál.
Nem igényel további változókat / definíciókat, csak a megadott értékhez irányítja a folyamatot.
A Batch szkriptelésben is megtalálható, persze nem ide tartozik.


Figyelmeztetések
     warning 225: unreachable code. - A struktúra nem hibás, és nem okoz szerver felöli összeomlást.


Használat
[pawn]
goto parancs;
parancs:
{
    return 1;
}
[/pawn]


Helyes használata
[pawn]
#include a_samp
main()
{
#define PeterGriffin 47
new LoisGriffin = 48;
if( PeterGriffin < LoisGriffin )
   goto LoisNyert;
else
       goto PeterNyert;
   
       LoisNyert:
       {
   print(\" Lois Griffin Nyert. \");
   return 1;
}
PeterNyert:
{
              print(\" Peter Griffin Nyert. \");
              return 1;
    }
}
[/pawn]
 

 Lois Griffin Nyert.
 
[/quote]


Helytelen használata
[pawn]
#include a_samp
main()
{
#define PeterGriffin 47
new LoisGriffin = 48;
if( PeterGriffin < LoisGriffin )
   goto LoisNyert;
else
    goto PeterNyert;
   
    LoisNyert:
   print(\" Lois Griffin Nyert. \");
PeterNyert:
       print(\" Peter Griffin Nyert. \");
}
[/pawn]
 

 Lois Griffin Nyert.
 Peter Griffin Nyert.
 
[/quote]


Egyéb
[pawn]
#include a_samp
main()
{
new ido = 0;
loop:
{
    if( ido < 5 )
    {
        print(\" a \");
        ido++;
        goto loop;
    }
    return 1;
}
}
[/pawn]
 

 a
 a
 a
 a
 a
 
[/quote]
Cím: [ Leírás ] GOTO struktúra
Írta: DrAkE - 2011. szeptember 26. - 19:15:13
Hasznos.
Cím: [ Leírás ] GOTO struktúra
Írta: Koncz_Norbert - 2011. szeptember 26. - 20:39:33
Idézetet írta: DrAkE date=1317057313\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11975\" data-ipsquote-contentclass=\"forums_Topic
Hasznos.
 
Esetleg valamit közölni szeretnél?
Ha bármi probléma van akkor nyugodtan megoszthatod.
Cím: [ Leírás ] GOTO struktúra
Írta: kurta999 - 2011. szeptember 27. - 14:59:59
Szép leírás!
Jó pár helyen használom, mondjuk az ilyen bonyolultabb használatát eddig nem ismertem, mint ahogy azt leírtad az elsõ példában.
Kösz, hogy megosztottad velünk.
E: Lol, beszélem itt a hülyeségeket, bekavarodtam a { } jelektõl.
Cím: [ Leírás ] GOTO struktúra
Írta: ChuckNorris - 2011. október 08. - 22:31:54
Anno ZeRo írt errõl egy leírást és ott azt mondta nem ajánlja a használatát.
Cím: [ Leírás ] GOTO struktúra
Írta: Koncz_Norbert - 2011. október 08. - 22:35:47
Én elég gyakran használom ( fõleg függvénykönyvtárakban ) és sosem volt vele probléma.
Igaz hibát / hibákat is jelez, de nem omlik össze a kliens.
Cím: [ Leírás ] GOTO struktúra
Írta: Zsolesszka - 2011. október 09. - 22:19:19
Én se ajánlom, nem hiszem hogy egy adott folyamat struktúrából, csak olyan jó dolog ki ugrálni. Mindent meg lehet oldani egyéb más utasítással, nagyon ritkák azok az esetek mikor csak goto utasítást lehet használni, ezért csak akkor javallott a használata ha ezt másképp nem lehet megoldani.