AS3 print_r
via base86
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | package { public function print_r(obj:*, level:int = 0, output:String = ""):* { var tabs:String = ""; for (var i:int = 0; i < level; i++, tabs += "\t"); for (var child:* in obj) { output += tabs + "["+ child + "] => " + obj[child]; var childOutput:String = print_r(obj[child], level + 1); if (childOutput != "") output += " {\n"+ childOutput + tabs + "}"; output += "\n"; } if (level > 20) return ""; else if (level == 0) trace(output); else return output; } } /* USAGE: // Save as print_r.as, change package name if needed var obj:Object = {}; obj.var1 = "test"; obj.var2 = { var2a: "a", var2b: 10 }; print_r(obj); print_r(("a,b,c").split(",")); */ |


