Вы не можете связать Vector.push()
вызовы, поскольку они возвращают uint
- новую длину вектора.
С другой стороны, проблема принуждения возникает из-за того, что вы передаете функцию в bla
функция, которая ожидает Vector.<Object>
.
Вы можете легко это исправить:
bla((function():Vector.<Object> {
var result:Vector.<Object> = new Vector.<Object>(2, true);
result.push("bla1");
result.push("bla2");
return result; })()
);
Однако в AS3 уже есть функция верхнего уровня, которая помогает вам создавать векторы.Функция Vector()
ожидает либо Array
, либо Vector
и возвращает Vector
.Так, например, вы можете использовать:
bla(Vector.<Object>(['bla1', 'bla2']));
Посетите AS3 Reference для получения дополнительной информации.
РЕДАКТИРОВАТЬ: Я забыл упомянутьчто исправление в подходе к функции было просто добавлением ()
к нему, что означает, что мы на самом деле вызвали анонимную функцию и передали ее возвращение функции bla
.