Js書いてると 一行ずつ実行したくなります。
プログラムには、一行ずつ実行する手法が用意されている。
など
JavaScript for OSX Automation にもあります
対話型コンソールはありまぁぁぁす!
osascript -i -l JavaScript
osascript コマンドに -i 引数をつければインタラクティブシェルが起動します。
スクリーンショット 2014-12-10 4.26.48
インタラクティブシェルは便利!
シェルがあると、トライ・アンド・エラーがスゴく楽になります。
>> ^Dtakuya@rena:~/Desktop$ osascript -i -l JavaScript >> var Safari = Application("Safari") => undefined >> Safari.windows => Application("Safari").windows >> Safari.windows[0] => Application("Safari").windows.at(0) >> Safari.windows[0].tabs => Application("Safari").windows.at(0).tabs >> Safari.windows[0].tab[0] => Application("Safari").windows.at(0).tab.0 >> Safari.windows[0].tab[0].name => Application("Safari").windows.at(0).tab.0.name >> Safari.windows[0].tab[0].name() !! Error on line 1: Error: Can't convert types. >> Safari.windows[0].tabs[0].name() => "Twitter / 電話番号を入力してください" >>
これは、Applicationの階層構造を一つ一つ降りて行って、どのオブジェクトどう使うのか調べいるところす。
osascript について
osascriptはコマンドラインから、applescriptを実行するコマンドです。JavaScriptにも対応しました。
AppleScript でインタラクティブシェルを起動するとき
osascript -i
JavaScript でインタラクティブシェルを起動するとき
osascript -i -l JavaScript
他にも、ファイルを名を指定して実行したり
osascript -l JavaScript test.js
標準入力からスクリプトを受け取ったり
cat test.js osascript -l JavaScript
ワンライナーっぽくかけたり
osascript -l JavaScript -e "var app = Application('Safari'); app.activate()"
などなど、osascriptは結構使えます。
osjscript 書きました。
" osascript -l JavaScript -i "はパパっと書くにはあまりにも長い。だからコマンド作った
- パイプで渡されたら、パイプで実行
- ファイルが指定されたら、ファイルを実行
- それ以外はインタラクティブ・シェルを起動