hirax.net::inside out::2011年12月21日

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2011年11月 を読む << 2011年12月 を読む >> 2012年1月 を読む

2011-12-21[n年前へ]

Mathematicaから外部Javascriptの出力結果を使う 

 Mathematica から外部Javascriptが出力する内容を使いたい、という話題がMathematicaのメーリングリストで流れていたので、やってみました。それが下のコードです。メーリングリストへの新規登録ができないようなので、ここに書いてみました。

準備:
Mozilla Foundation 謹製のJavascriptインタラクティブシェルである
SpiderMonkey
http://www.mozilla-japan.org/js/spidermonkey/
をインストール。

(下記コードで読み込む短縮URL先)Javascript サンプル:
function times(a, b){
 return a * b;
}
print(2*3);

Mathematicaコード:
js = Import["http://bit.ly/silGkP", "Table"];
Export["a.js",Prepend[js,"#!/opt/local/bin/js\n"],"Table"];
Run["chmod 755 a.js"];
Run["./a.js > out.txt"];
result = Import["out.txt"]

結果:
Out[]= "6"

後はサンプルJavascriptの最末尾にある"print(2*3);"を
使いたい関数などに応じて自動生成してやれば、
Mathematicaから外部Javascript出力を使うことが
できる、という具合でしょうか。

処理手順は、Javascriptをダウンロードした上で、
必要構文を追加することでシェルスクリプト化して、
実行結果をファイル経由で受け取る、という具合です。

上記コードはOSX上で動作確認をしていますが、
このJavascriptファイルをシェルスクリプト化する
といった辺りの処理は、他環境では不要なのかも
しれません。