AS 3.0言語の魅力(12月1日更新例)


以前はJavaを使用していましたが、一部のWebシーンの開発でFlashを使用せざるを得なかったため、ここ数日ActionScript 3.0に触れることができ、AS 3.0の文法を紹介する本を読んで驚きました.この言語はJavaと現在非常に似ているような気がします.Java、Pascal、JSの結合物と呼ばれている人もいます.FlexBuilderの開発環境はEclipseに基づいており、Flexの可視化コンポーネントはDelphiと非常に類似しており、使いやすく、特に彼の文法に興味があり、特にE 4 XのXML操作規範に従い、配列辞書操作は非常に便利で、以下は私が本を読む過程で作成したサンプルコードです.次のようになります.
コードは次のとおりです.
		import mx.controls.Alert;
		internal function btnXMLClick(evtObj:Event){
			var xml:XML=<company>
							<name>       </name>
							<description>      </description>
							<person no="1001">
								<name>cxlh</name>
								<job>manager</job>
							</person>
							<person no="1002">
								<name>otherone</name>
								<job>designer</job>
							</person>							
						</company>;
			Alert.show("     1001   :"+xml.person.(@no=="1001").name,"  ");
			var onePerson:XML = <person no="1003"><name>thd_one</name><job>developer</job></person>
			xml.person +=onePerson;	
			Alert.show("     1003    :"+xml.toXMLString(),"  ");		
			delete xml.person[2];
			Alert.show("     1003    :"+xml.toXMLString(),"  ");
		}
		private function byCustemer(valueA:*,valueB:*):Number
		{
			if(valueA == valueB) return 0;
			else if(valueA < valueB) return -1;
			else return 1;
		}
		
		internal function btnArrayClick(evtObj:Event){
			var array:Array = [1,2,3,4,7];
			array.splice(2,1);
			Alert.show("            :"+array.join(",").toString());
			var z:Array=array.slice(0,2);
			Alert.show("     1,2   :"+z.join(",").toString());
			array.push(10);
			Alert.show("     10 :"+array.join(",").toString());
			var sortArray:Array=array.sort(Array.DESCENDING|Array.NUMERIC);
			Alert.show("     :"+array.toString());
			array.sort(byCustemer,Array.DESCENDING);
			Alert.show("        :"+array.toString());
		}
		
		internal function btnDictClick(evtObj:Event){
			var dict:Dictionary = new Dictionary();
			dict["one"] = 1;
			dict["tow"] = 2;
			if("one" in dict){
				Alert.show("    :"+dict["one"]);
			}
		}
		
		function sum(... numbers):Number{
			var result:Number = 0;
			for each(var num:Number in numbers){
				result += num;
			}
			return result;
		}
		
		function fact(i:uint){
			if(i==0)
				return 1;
			else
				return (i*fact(i-1));
		}
		
		internal function btnFuncClick(evtObj:Event){
			Alert.show("...     :
1+2+3="+sum(1,2,3)+"
"+"4+5="+sum(4,5)); Alert.show(" :
10!="+fact(10)); }

私が本を読むにつれて、私は絶えずこのサンプルプログラムを補充します.