2005年9月 9日

SpiderMonkey で JavaScript のインタラクティブシェル

JavaScript のコードをインタラクティブに動かせるツール (Ruby における irb のようなもの) が欲しいと以前から思っていたのですが、今日になってようやく SpiderMonkey のインタラクティブシェルをインストールしました。

 

Debian GNU/Linux なら sudo apt-get install spidermonkey-bin を実行するだけでインストールできます。インストール後、 js コマンドを実行するとインタラクティブシェルが立ち上がります。

式を入力すると値が表示されます。 readline ライブラリがリンクされているので、コマンドライン編集は bash と同様にできます。

js> a = [1,2,3]
1,2,3
js> a.push(4)  // 末尾に 4 を追加
4
js> a.unshift(0)  // 先頭に 0 を追加
5
js> a
0,1,2,3,4  // うまくいってる
js> a.concat([5,6,7])  // 末尾に 5,6,7 を追加、のつもりだが…
0,1,2,3,4,5,6,7
js> a
0,1,2,3,4  // 失敗。どうも concat は新しい配列を返すようだ
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  // これが求めていたもの

インタラクティブシェルは JavaScript の基本的な動作を理解するのに非常に役立つと思います。

再考ですかー!? JavaScript のプレゼン資料では SpiderMonkey を C 言語のプログラムに組み込む方法が紹介されています。