ActionScript 3 Quine

A quine is a programm emitting its own source-code. I guess this is the most simple variant one could produce.

package
{
	import flash.display.Sprite;

	/**
	 * @author Joa Ebert
	 */
	public class Main extends Sprite
	{
		public function Main()
		{
			var i: int;
			var c: Function = String.fromCharCode;
			var q: Array = [
				'package',
				'{',
				'\timport flash.display.Sprite',
				'',
				'\t/**',
				'\t * @author Joa Ebert',
				'\t */',
				'\tpublic class Main extends Sprite',
				'\t{',
				'\t\tpublic function Main()',
				'\t\t{',
				'\t\t\tvar i: int;',
				'\t\t\tvar c: Function = String.fromCharCode;',
				'\t\t\tvar q: Array = [',
				'\t\t\t];',
				'\t\t\tfor(;i<14;++i)trace(q[i]);',
				'\t\t\tfor(i=0;i<21;++i)trace(c(9)+c(9)+c(9)+c(9)+c(39)+String(q[i]).replace(new RegExp(c(92)+"x09","g"),c(92)+"t")+c(39)+",");',
				'\t\t\tfor(i=14;i<21;++i)trace(q[i]);',
				'\t\t}',
				'\t}',
				'}',
			];
			for(;i<14;++i)trace(q[i]);
			for(i=0;i<21;++i)trace(c(9)+c(9)+c(9)+c(9)+c(39)+String(q[i]).replace(new RegExp(c(92)+"x09","g"),c(92)+"t")+c(39)+",");
			for(i=14;i<21;++i)trace(q[i]);
		}
	}
}

1 Response to “ActionScript 3 Quine”


Leave a Reply