2 VovkaMorkovka. a и b - это не неопределенное количество аргументов, их число равно двум.
2 __etc. Да есть, даже два и в обоих вызов ф-ии такой:

Код:
traceArgArray(1, 2, 3);
Проблема в том что 1, 2 и 3 это последовательность из 3-х аргументов, но никак не неопределенное их количество.
2 K.A.T.A.F.A.L.K.E.R . Опять же вызов ф-ии:

Код:
test(1,2,3)
с однозначно определенным количеством аргументов - тремя.
Повторюсь: проблема не в том чтобы обработать в функции неопределенное количество аргументов, а проблема в том чтобы подать в ф-ию неопределенное количество аргуметов. Что то типа этого:

Код:
// создаем массив с объектами
var maxArgs:Number = 3;
var argsArray:Array = new Array();
for (var i:Number=0; i<maxArgs; i++) {
var object:Object = new Object();
argsArray[i]=object;
}
trace ("array all: "+argsArray); // array all: [object Object],[object Object],[object Object]
function traceArgArray(... args):void
{
for (var i:uint = 0; i < args.length; i++)
{
trace("element "+i+" "+args[i]);
}
}
// передаем массив в функцию
traceArgArray(argsArray); // element 0 [object Object],[object Object],[object Object]
Но, как видно, это не работает - переданный массив принимается как один первый аргумент (было бы ужасно если бы не так

).
Я не нашел в хелпе, как это можно сделать. Или я не вижу очевидного.