Win版インタラクティブJavaScript
「SpiderMonkey で JavaScript のインタラクティブシェル - bkブログ」のWin版です。
以下の内容で「ijs.js」というファイルを作成。
function print(s) { WScript.StdOut.Write(s); } (function () { for(;;) { print("js> "); var l = WScript.StdIn.ReadLine(); if (l == "!") { var a = []; while((l = WScript.StdIn.ReadLine()) != "!") { a.push(l); } l = a.join("\n"); } try { var v = eval(l); print(v); print("\n"); } catch(e) { print("Exception: "); print((e instanceof Error) ? e.message : e); print("\n"); } } })()
でもって、コマンドラインから実行。(終了は Ctrl+C)
C:\>cscript ijs.js js> a = [1,2,3] 1,2,3 js> a.push(4) 4 js> a.unshift(0) js> a 0,1,2,3,4 js> a.concat([5,6,7]) 0,1,2,3,4,5,6,7 js> a 0,1,2,3,4 js> a = a.concat([5,6,7]) 0,1,2,3,4,5,6,7 js> a 0,1,2,3,4,5,6,7 js> ^C C:\>
毎回、cscript と入力するのが面倒であれば、一度コマンドラインで「cscript //h:cscript」とやっておけば、以後、「ijs」とタイプするだけで実行できるようになります。
追記
せっかくTB送ったのに、日記がプライベートモードのままでした…… orz
追記2
拡張してみました。
InteractiveJS その2 - nak2kのメモ帳
InteractiveJS でインタラクティブIEいじり
js> var ie = new ActiveXObject("InternetExplorer.Application"); js> ie.Visible = true True js> ie.navigate("http://www.yahoo.co.jp"); js> ie.document.title Yahoo! JAPAN js> ie.document.getElementsByTagName("A").length 269 js>
当然IEだけじゃなくて、"Excel.Application" なんかも操作可能。
ijs.js は勢いで即席で作った割には、色々と使えそうな気がしてきた。外部 js ファイルの読み込みとか機能追加して整理してみるかな。