Oggi è 16/06/2025, 17:28

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Regole del forum


- Dare titoli sensati, non titoli tipo "Aiuto" oppure "Problema", i topic analoghi verranno immediatamente chiusi.
- Utilizzare http://www.pastebin.com per script superiori a 20 righe.



 Pagina 1 di 1 [ 8 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

  Stampa pagina

Autore Messaggio
 Oggetto del messaggio: [QST] if, else & switch
MessaggioInviato: 17/04/2011, 18:22 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Salve a tutti penso che le persone che risponderanno alla mia domanda sapranno di sicuro a cosa servono if, else & switch quindi vorrei farvi una domanda.. Io pensavo che lo switch servisse per sostituire più else if e invece se l'if veniva usato solo una volta o comunque aveva bisogno solo di un else si poteva evitare.. Ora però vado a curiosare tra gli scripts di » RyDeR « e trovo un Reaction Test dove lo switch viene usato al posto di un normale if
Codice:
public OnPlayerText(playerid, text[])
{
        switch(xTestBusy)
        {
            case true:
            {
                        if(!strcmp(xChars, text, false))
                        {
                            new
                                string[128],
                                pName[MAX_PLAYER_NAME]
                                ;
                                GetPlayerName(playerid, pName, sizeof(pName));
                                format(string, sizeof(string), "« \%s\" has won the reaction test. »", pName);
                            SendClientMessageToAll(GREEN, string);
                            format(string, sizeof(string), "« You have earned $%d + %d score points. »", xCash, xScore);
                            SendClientMessage(playerid, GREEN, string);
                            GivePlayerMoney(playerid, xCash);
                                SetPlayerScore(playerid, GetPlayerScore(playerid) + xScore);
                                xReactionTimer = SetTimer("xReactionTest", TIME, 1);
                            xTestBusy = false;
                        }
                }
        }
        return 1;
}

Ryder non mi sembra il primo nabbetto di turno quindi ecco a voi la domanda:
Anche se si deve controllare una sola "opzione" è meglio usare lo switch oppure Ryder ha fatto un fail? Aspetto risposte : WohoW :


Top
 E-mail  
 

 Oggetto del messaggio: Re: [QST] if, else & switch
MessaggioInviato: 17/04/2011, 18:26 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Io penso che lo switch prenda più memoria usato solo una volta rispetto all'if ed else if. Te lo dico perché è come se lo switch "dividesse" la variabile (o qualsiasi cosa esso sia). Forse gli veniva più comodo... oppure Ryder aveva pensato ad altri case, ma alla fine ha capito che ce ne volesse solo uno ed ha dimenticato a toglierlo. Perché (sempre secondo me) l'if confronta direttamente. Prende la variabile e confronta all'altro "dato". Invece questo deve andarlo a dividere, ma se sono più di due opzioni, già te lo trovi diviso e immediatamente pronto per ciò che deve controllare.

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [QST] if, else & switch
MessaggioInviato: 17/04/2011, 18:28 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Uhm mi sembra giusta la tua risposta ma allora mi spieghi perchè in uno script che hai postato recentemente non ricordo su quale topic hai usato lo switch per 2 casi? :asd: Comunque aspetto risposte SICURE grazie ancora comunque Mitos ;).


Top
 E-mail  
 
 Oggetto del messaggio: Re: [QST] if, else & switch
MessaggioInviato: 17/04/2011, 18:40 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Non ricordo quale, ma è abitudine per me usare lo switch per più di 1 caso.

Figurati ;)

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [QST] if, else & switch
MessaggioInviato: 17/04/2011, 19:18 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Comunque mi è stato detto da altri 2 scripters (Phanto e Alby) che il mio metodo va più che bene e che, FORSE, è migliore dello switch usato da Ryder. Grazie a tutti :D


Top
 E-mail  
 
 Oggetto del messaggio: Re: [QST] if, else & switch
MessaggioInviato: 17/04/2011, 19:47 
Utente

Iscritto il: 11/11/2010
Messaggi: 24
Favourite GTA: San Andreas

Karma
0


Non connesso
mitosking ha scritto:
Io penso che lo switch prenda più memoria usato solo una volta rispetto all'if ed else if. Te lo dico perché è come se lo switch "dividesse" la variabile (o qualsiasi cosa esso sia). Forse gli veniva più comodo... oppure Ryder aveva pensato ad altri case, ma alla fine ha capito che ce ne volesse solo uno ed ha dimenticato a toglierlo. Perché (sempre secondo me) l'if confronta direttamente. Prende la variabile e confronta all'altro "dato". Invece questo deve andarlo a dividere, ma se sono più di due opzioni, già te lo trovi diviso e immediatamente pronto per ciò che deve controllare.


Questa mi sembra proprio una boiata. Lo switch non divide un bel cavolo. Uno switch è semplicente una serie di if, quindi fare più if o uno switch è uguale, forse lo switch è anche più veloce.
Io Personalmente sono abituato ad usare l'if per una condizione e lo switch per più.

_________________
Immagine

Dho...


Top
 E-mail  
 
 Oggetto del messaggio: Re: [QST] if, else & switch
MessaggioInviato: 17/04/2011, 20:00 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Perfect


Top
 E-mail  
 
 Oggetto del messaggio: Re: [QST] if, else & switch
MessaggioInviato: 17/04/2011, 20:04 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Ho fatto bene a precisare "penso" visto che non era nulla di ufficiale. Ho anche spiegato su MSN a Peppinux ;)

_________________
Immagine


Top
 E-mail  
 
Visualizza ultimi messaggi:  Ordina per  
 Pagina 1 di 1 [ 8 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Chi c’è in linea

Visitano il forum: Nessuno e 31 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron