Argomenti variabili in Actionscript 3.0

Mercoledì 11 Giugno, 2008

Nel post Argomenti variabili e di default in Javascript, Actionscript e PHP avevo esposto l'uso delle tecniche di passaggio di parametri variabili e di default. Aggiungo, ora, che in Actionscript 3.0 è stata introdotta una nuova dichiarazione di parametro in grado di specificare un parametro array che accetta un qualunque numero di argomenti separati da virgola: ... (rest)

Actionscript:
  1. function sampleFunction(... mioarr):void {
  2.     for (var i:uint = 0; i < mioarr.length; i++) trace( mioarr[i] );
  3. }
  4.  
  5. sampleFunction(8, 16, 32);
  6.  
  7. // output:
  8. // 8
  9. // 16
  10. // 32

Questa tecnica non sostituisce l'uso dell'oggetto arguments, ma è utile nelle dichiarazioni di classi dove in mancanza di parametri Actionscript genera un errore. Inoltre, come indicato nel manuale:

Il parametro (rest) può avere qualsiasi nome che non corrisponda a una parola riservata e deve essere l'ultimo parametro specificato. L'uso di questo parametro rende indisponibile l'oggetto arguments. Anche se il parametro ... (rest) offre la stessa funzionalità dell'array arguments e della proprietà arguments.length, non fornisce invece una funzionalità simile a quella di arguments.callee. Prima di usare il parametro ... (rest), assicurarsi che non sia necessario utilizzare arguments.callee.

Inoltre è possibile utilizzare questa tecnica insieme alle dichiarazioni standard:

Actionscript:
  1. function sampleFunction(a:String, b:int, ... mioarr) {
  2.     for (var i:uint = 0; i < mioarr.length; i++) trace(args[i]);
  3. }
  4.  
  5. sampleFunction(4096, 16384, 128);
  6.  
  7. // output:
  8. // 16384
  9. // 128

Post correlati

Argomenti variabili e di default in Javascript, Actionscript e PHP

Mercoledì 7 Maggio, 2008

Chi sviluppa sa bene che una delle caratteristiche delle funzioni (function () ) è quella di avere o meno degli argomenti di input. Può capitare, a volte, di dover scrivere una funzione che, in base ai parametri di input, si comporta in modo differente (in programmazione OO troviamo questo comportamento indicato come poliformismo). I parametri variabili (varargs), introdotti già all'epoca del C e presenti di default nella classica dichiarazione del main:

CODE:
  1. int main(int argc, char *argv[]);

Continua a leggere... »

Post correlati