それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

JSコンソールを作ってみよう

WSHのマニュアル読みながらちょっとJSコンソールを作ってみた

WScript.StdOut.Write("js> ");
while (!WScript.StdIn.AtEndOfStream)
{
  try{
    var str = WScript.StdIn.ReadLine();
    WScript.StdOut.WriteLine(  eval (str)  );
  }catch(e){
    WScript.StdOut.WriteLine(e);
  }finally{
    WScript.StdOut.Write("js> ");
  }
}

というファイルを作ってコマンドプロンプトからCscript.exeで動かす

cscript.ext //nologo console_test.js

PythonRubyのようなコンソール実行環境が作れた

実行結果

C:\Documents and Settings\takuya_1st\デスクトップ>cscript stdin.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

js> 1*2
2
js> a = 1
1
js> str = "サンプル文字列"
サンプル文字列
js> str.length
10
js>


実にSimple。これを基本としていろいろ追加していったらJScriptコンソールになるのだろう。たぶんこれを一番作り込んでるのはid:MugさんのWSHコンソール。私もこれを参考にしながらやってみた。
JScriptコンソールを進化させてWSHコンソールに。


firebugっぽく、実行結果をそくコンソールに書出すところがミソ。でもMugさんのようにコマンドをためておける方が嬉しい。欲張りなことを言えば、書き込んだコードをつねにログに吐き出しておけると便利かも。


これを改造すると、IEのドキュメントをfirebugのようにいじくることが出来る。
WSHでIEさがしてDocumentオブジェクトを横取りして、with(window.document){}あたりからコードを書き始められると楽しいのじゃないだろうか