forked from: Vectorのmap()がVectorを返さない気がするのですが

by shohei909 forked from Vectorのmap()がVectorを返さない気がするのですが (diff: 44)
♥0 | Line 31 | Modified 2010-04-02 09:49:28 | MIT License
play

ActionScript3 source code

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

// forked from imajuk's Vectorのmap()がVectorを返さない気がするのですが
package  
{
    import flash.text.TextField;
    import flash.display.Sprite;

    public class VectorMapTest extends Sprite 
    {
        public function VectorMapTest()
        {
        	    //Vectorのmap()がVectorを返さない気がするのですが気のせいでしょうか?
        		//期待する動作はVectorの要素の数値をインクリメントするものですが
        		//map()の戻り値はnullです。
        		//僕が何を勘違いしているのか誰か教えてください
        		
        		
        		//うーん、Arrayのmap()やVectorのfilter()はちゃんと動くみたいなんですが・・・
        		//やはりバグでしょうか?
        		
        		
        		
        		var tf:TextField = addChild(new TextField()) as TextField;
			



        		
            var v :Vector.<int> = new Vector.<int>(2);
            v[0]=1;v[1]=2;
            
            v = v.map(function(n:int, ...param):int 
            {
            		return ++n;
            	});        	
        		
        		tf.appendText("Vector    map(): " + v + "\n");
        		
        		
        		
        		
        		var a :Array = [1,2];
            
            a = a.map(function(n:int, ...param):int
            {
            		return ++n;
            });
        	
        		tf.appendText("Array    map(): " + a + "\n");
        		
        		
        		
        		
            var v2 :Vector.<int> = new Vector.<int>(2);
            v2[0]=1;v2[1]=2;
            
            v2 = v2.filter(function(n:int, ...param):Boolean {
            		return true;
            	});     	
        		
        		tf.appendText("Vector    filter(): " + v2 + "\n");
        }
    }
}