Показать сообщение отдельно
Старый 12.07.2011, 19:39
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 10  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Вариант первый (работает)
Код AS3:
var v:Vector.<Object> = new Vector.<Object>();
v.push(1.1);
v.push(2.2);
v.push(3.3);
v.push(4.4);
 
trace("v is Vector: " + (v is Vector));
trace("v is Vector.<*>: " + (v is Vector.<*>));
trace("v as Vector.<*>: " + (v as Vector.<*>));
trace("v as Vector.<Object>: " + (v as Vector.<Object>));
trace("v as Vector.<Number>: " + (v as Vector.<Number>));
 
typedArgument(v as Vector.<*>);
 
function typedArgument(value:Vector.<*>):void
{
	trace("typedArgument() -> value: " + value);
}
Цитата:
v is Vector: false
v is Vector.<*>: true
v as Vector.<*>: 1.1,2.2,3.3,4.4
v as Vector.<Object>: 1.1,2.2,3.3,4.4
v as Vector.<Number>: null
typedArgument() -> value: 1.1,2.2,3.3,4.4
Вариант второй (не работает, что собственно и должно быть)
Код AS3:
var v:Vector.<Number> = new Vector.<Number>();
v.push(1.1);
v.push(2.2);
v.push(3.3);
v.push(4.4);
 
trace("v is Vector: " + (v is Vector));
trace("v is Vector.<*>: " + (v is Vector.<*>));
trace("v as Vector.<*>: " + (v as Vector.<*>));
trace("v as Vector.<Object>: " + (v as Vector.<Object>));
trace("v as Vector.<Number>: " + (v as Vector.<Number>));
 
typedArgument(v as Vector.<*>);
 
function typedArgument(value:Vector.<*>):void
{
	trace("typedArgument() -> value: " + value);
}
Цитата:
v is Vector: false
v is Vector.<*>: false
v as Vector.<*>: null
v as Vector.<Object>: null
v as Vector.<Number>: 1.1,2.2,3.3,4.4
typedArgument() -> value: null
Цитата:
Что должно было бы быть в результате - не понятно.
RTE, что ж еще то.

Добавлено через 1 минуту
Кстати да. Вы попробуйте для начала создать
Код AS3:
var v:Vector = new Vector();