突然.jsをコンパイルしてみたくなった!その2

きょうも北海道は暑いですね。25℃こえたら僕は融けます。JScriptではコンパイル後もeval()が出来るという何だか僕にはびっくりなことができたのでメモ。

■C:\Foo.js
print("Foo");

■Hoge.js
function file_get_contents(filename)
{
	var text, file;
	var fso  = new ActiveXObject("Scripting.FileSystemObject");

	try
	{
		file = fso.OpenTextFile(filename, 1, true);
		text = file.ReadAll();
		eval(text);
		file.Close();
	}
	catch(e)
	{
		print("そんなファイルありませんよ。");
	}
};

file_get_contents("C:\\Foo.js");

■Hoge.jsをコンパイル
jsc x:\Hoge.js

■Hoge.exeを起動
Hoge

■出力
Foo

ちゃんとevalされた結果が出てきてる!感覚的にびっくり。