Flash / ActionScript プログラムに関する各種メモ書き

オブジェクト , 配列の中身を表示させる _dump関数

ActionScript 2.0 用のダンプ関数がWEB上にあまりなかったので作成

// function _dump
// Version 0.4
function _dump(data,indent:Number){
    if (! indent){indent=0;}
    if (indent==0){ trace('------------------------- ↓'); }
    var space:String = '';

    for (var key:String in data) {
        var value = data[key];
        if ( typeof(value) == "object" ){
            space = '';
            for( var i:Number=0; i<indent*8; i++){ space += ' '; }
            trace( space +key+' : ('+typeof(value)+') : '+value);
            indent++;
            _dump(value,indent);
            indent --;
        }
        else{
            space = '';
            for( var i:Number=0;i<indent*8;i++){ space += ' '; }
            trace( space +key+' : ('+typeof(value)+') : '+value);
        }
    }
    if ( typeof(data) == 'string' || typeof(data) == 'number' || typeof(data) == 'boolean' || typeof(data) == 'undefined' || typeof(data) == 'null' ){ trace( '名無し'+' : ('+typeof(data)+') : '+data); }
    if (indent==0){ trace('------------------------- ↑'+"\n"); }
}

使い方は

var obj:Object = {x:1, y: "aaa", z: {foo: [1,2,3], bar: {a: 11, b: null, c: true}}};
_dump(obj);

出力結果

------------------------- ↓
x : (number) : 1
y : (string) : aaa
z : (object) : [object Object]
        foo : (object) : 1,2,3
                2 : (number) : 3
                1 : (number) : 2
                0 : (number) : 1
        bar : (object) : [object Object]
                a : (number) : 11
                b : (null) : null
                c : (boolean) : true
------------------------- ↑

不具合などありましたらコメント欄から是非ご指摘くださいませ。


ActionScript 3.0用はこちらにありました。(こちらの方が見やすくていいかも)

http://kjirou.sakura.ne.jp/mt/2007/10/as3_1.html

こちらもAS3用

http://www.libspark.org/wiki/dealforest/Dumper



関連エントリー

No.573
03/26 14:55

edit

ActionScript2.0