SO create vector on class name
forked from forked from: SO xml namespace attributes access (diff: 26)
ActionScript3 source code
/**
* Copyright pleclech ( http://wonderfl.net/user/pleclech )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/pkjs
*/
package {
import flash.utils.getDefinitionByName;
import flash.utils.getQualifiedClassName;
import flash.utils.describeType;
import flash.utils.setTimeout;
import com.bit101.components.TextArea;
public class FlashTest extends TextArea {
public function FlashTest() {
width=400
height=400
setTimeout(doTest, 500)
}
public function createVector(cls:Class):*{
var cn:String = getQualifiedClassName(cls);
var o:Object = getDefinitionByName("__AS3__.vec::Vector.<"+cn+">");
var array:Array = [];
for(var i:int = 0; i < 10; i++){
var element:* = new cls();
array.push(element);
}
return o.prototype.constructor(array);
}
public function doTest():void {
try {
var vi:*=createVector(int);
trace(vi);
trace(describeType(vi));
var vn:*=createVector(Number);
trace(vn);
trace(describeType(vn));
} catch (e:*){
trace(e);
}
}
public function trace(...args):void {
text=text+args.join(", ")+"\n"
}
}
}
