関数のパラメータの設定される順番

by yprops forked from テキスト表示用 (diff: 23)
♥0 | Line 44 | Modified 2010-05-18 11:47:09 | MIT License
play

ActionScript3 source code

/**
 * Copyright yprops ( http://wonderfl.net/user/yprops )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/5d0F
 */

// forked from yprops's DebugText
package {
    import flash.display.Sprite;
    import flash.text.TextField;
    public class DebugText extends Sprite {
    	   
    	   private var args :Array = ["a","b","c","d","e","f"];
        public function DebugText() {
            addDeb(400, 300);
            
            addDebLine("\n■配列[ " + args.toString() + " ]を用意し、関数のパラメータに、Array.shift()で引数を設定していく。");
            addDebLine("fnc( array.shift(), array.shift(), arrayshift()... );");
            fnc(
                args.shift(),
                args.shift(),
                args.shift(),
                args.shift(),
                args.shift(),
                args.shift()
            );
            addDebLine("\nAS2.0だと逆順に設定される(f,e,d,c,b,a となる)のでテストしてみたが、AS3.0では正順となった");
        }
        
        private function fnc(
            p0 :*, p1 :*, p2 :*, p3 :*, p4 :*, p5 :*
        ) :void{
        	    addDebLine("\n■関数が受けとった順番は");
        	    addDebLine(p0 + ", " + p1 + ", " + p2 + ", " + p3 + ", " + p4 + ", " + p5);
        }
        
        
        //-------------------------------
        private var deb :TextField;
        private function addDeb(w:uint, h:uint) :void{
        		deb = new TextField();
        		deb.width = w;
        		deb.height = h;
        		deb.border = true;
        		deb.borderColor = 0;
        		deb.background = true;
        		deb.backgroundColor = 0x99ffffff;
        		deb.wordWrap = true;
        		deb.text = "beginDebugText-------\n";
        		addChild(deb);
        }
        private function addDebLine(str :String) :void{
        		deb.appendText(str + "\n");
        		deb.scrollV = deb.maxScrollV;
        }
    }
}