Una riga di script per funzione? non sempre!

Aperto da Absynth, Agosto 23, 2010, 09:07:10 PM

Discussione precedente - Discussione successiva

Absynth


Di solito si ha l'abitudine di scrivere ogni riga di codice in una riga letterale, per migliorare la leggibilità

è indubbio che queste forme

integer i; integer x, integer f;
float a1; float a2;

on_rez(integer sp){llResetScript();}


siano meno chiare delle canoniche

integer i;
integer x;
integer f;

float a1;
float a2;

on_rez(integer sp)
{
     llResetScript();
}



tuttavia ci son casi in cui fa comodo scrivere una funzione su più righe.
Prendiamo ad esempio una riga classica di take controls che prenda i 4 tasti cursore:

llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT,TRUE,FALSE);


se per motivi di testing dobbiamo levare temporaneamente il controllo sul tasto back e left, dovremmo cancellarli, e nel caso servissero di nuovo, riscriverceli ancora. Non possiamo commentarlo, perchè commenteremmo tutta la riga da quel punto in poi, spezzando la funzione a metà.

Perchè non usare allora questa forma?

llTakeControls(CONTROL_FWD |
               CONTROL_BACK |
               CONTROL_ROT_LEFT |
               CONTROL_ROT_RIGHT,
               TRUE,FALSE);


in questo modo è possibile commentare i singoli elementi dell'OR, lasciando la funzione intatta.

llTakeControls(CONTROL_FWD |
               //CONTROL_BACK |
               //CONTROL_ROT_LEFT |
               CONTROL_ROT_RIGHT,
               TRUE,FALSE);
[/quote]