Un peu d'introspection ...
Submitted by PiTiLeZarD on Sun, 03/18/2007 - 17:22
Tagged:
Bon en flash il n'y a visiblement rien de bien pratique pour faire du log ou du debug ... Enfin ... un truc de base : un var_dump par exemple !!!
Bref j'en ai fait un, il vaut ce qu'il vaut !
function toString(o, pref):String { var ret:String = ""; var prefix:String = (typeof (pref) == "undefined") ? "" : pref; if (typeof (o) == "undefined") { return "{undefined}"; } else if (typeof (o) == "number") { return "{Number} "+o; } else if (typeof (o) == "string") { return "{String} "+o; } else if (typeof (o) == "function") { return "{function}"; } if (o.length) { ret += "\n"+prefix+"{Array}\n"; prefix += " "; for (var i = 0; i<o.length; i++) { ret += prefix+i+" = "+toString(o[i], prefix+" "); if (typeof(o[i]) != "object") ret += "\n"; } } else { ret += "\n"+prefix+"{Object}\n"; prefix += " "; for (var i in o) { ret += prefix+i+" : "+toString(o[i], prefix+" "); if (typeof(o[i]) != "object") ret += "\n"; } } return ret; } trace(toString(test)); trace(toString(toString)); trace(toString(["un", "deux", "trois"])); trace(toString({un:"hein", deux:dheux, trois:["recursion", "quand", "tu", "nous", "tiens"], quatre: {ici: "un autreobjet", func: toString}}, "recursion: "));
résultat :
{undefined}
{function}
{Array}
0 = {String} un
1 = {String} deux
2 = {String} trois
recursion: {Object}
recursion: un : {String} hein
recursion: deux : {undefined}
recursion: trois :
recursion: {Array}
recursion: 0 = {String} recursion
recursion: 1 = {String} quand
recursion: 2 = {String} tu
recursion: 3 = {String} nous
recursion: 4 = {String} tiens
recursion: quatre :
recursion: {Object}
recursion: ici : {String} un autreobjet
recursion: func : {function}
Bon c'est pas excellent, c'est perfectible, mais c'est pratique :)
