Argomenti variabili in Actionscript 3.0
Mercoledì 11 Giugno, 2008Nel 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)
-
function sampleFunction(... mioarr):void {
-
for (var i:uint = 0; i < mioarr.length; i++) trace( mioarr[i] );
-
}
-
-
sampleFunction(8, 16, 32);
-
-
// output:
-
// 8
-
// 16
-
// 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'arrayargumentse della proprietàarguments.length, non fornisce invece una funzionalità simile a quella diarguments.callee. Prima di usare il parametro... (rest), assicurarsi che non sia necessario utilizzarearguments.callee.
Inoltre è possibile utilizzare questa tecnica insieme alle dichiarazioni standard:
-
function sampleFunction(a:String, b:int, ... mioarr) {
-
for (var i:uint = 0; i < mioarr.length; i++) trace(args[i]);
-
}
-
-
sampleFunction(4096, 16384, 128);
-
-
// output:
-
// 16384
-
// 128




















