Beautifl - Flash Gallery

Thumbnail : Tricky Hello World!
Tricky Hello World!
beinteractive 2009-08-27 All rights reserved

再生するにはFlash Playerが必要です。デスクトップのブラウザでご覧ください。

package 
{
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.utils.Dictionary;
	
	public class Hello extends Sprite
	{
		public function Hello()
		{
			文字列.を生成(笑);
			
			それに対して(わんだー).を追加(笑);
			
			それに対して(えふえる).を追加(笑);
			
			それを(めっせーじ).で覚える(笑);
			
			テキストフィールド.を生成(笑);
			
			それに対して(覚えた(めっせーじ)).を設定(笑);
			
			それを表示(笑);
		}
		
		private var _stack:Array = [];
		private var _dict:Dictionary = new Dictionary();
		
		private function push(obj:Object):void
		{
			_stack.push(obj);
		}
		
		private function pop():Object
		{
			return _stack.pop();
		}
		
		private function peek():Object
		{
			return _stack[_stack.length - 1];
		}
		
		public function get 笑():Object
		{
			return null;
		}
		
		public function get わんだー():String
		{
			return "wonder";
		}
		
		public function get えふえる():String
		{
			return "fl";
		}
		
		public function get めっせーじ():String
		{
			return "message";
		}
		
		public function get 文字列():Hello
		{
			push(String);
			return this;
		}
		
		public function get テキストフィールド():Hello
		{
			push(TextField);
			return this;
		}
		
		public function を生成(p:Object):void
		{
			var c:Class = pop() as Class;
			push(new c());
		}
		
		public function それに対して(p:Object):Hello
		{
			push(p);
			return this;
		}
		
		public function それを(p:Object):Hello
		{
			push(p);
			return this;
		}
		
		public function を追加(p:Object):void
		{
			var b:String = pop() as String;
			var a:String = pop() as String;
			push(a + b);
		}
		
		public function で覚える(p:Object):void
		{
			var k:Object = pop();
			var v:Object = pop();
			_dict[k] = v;
		}
		
		public function 覚えた(p:Object):Object
		{
			return _dict[p];
		}
		
		public function を設定(p:Object):void
		{
			var s:String = pop() as String;
			var tf:TextField = peek() as TextField;
			tf.text = s;
		}
		
		public function それを表示(p:Object):void
		{
			var tf:TextField = pop() as TextField;
			addChild(tf);
		}
	}
}