昨日のアプレットの解説

さて、昨日の超くだらないアプレットですが、
スクリプトの解説をします(笑)

                                                                                                                                                                                                • -


display dialog "あなたは天才ですか?" buttons {"うん", "え?"} with title "質問" default button 1
set answer to button returned of result

if answer is "うん" then
    display dialog "∵ゞ(´ε`●) ブ!" buttons "終了" with title "質問"
else
    display dialog "ヽ(゚∀゚ )アヒャヒャ" buttons "終了" with title "質問"
end if

                                                                                                                                                                                                • -


すごく簡単なスクリプトですが、上記のようになってます。


Apple Scriptでダイアログボックスを表示させるには、「display dialog」と記述するみたいです。
「display dialog "任意の文字"」と書けば、取りあえずはMacに表示をさせる事が出来ます。
ただ、それだけでは寂しい、というか、足りないので様々なオプションを記述します。


・buttons


これは最大3つまでボタンに表示させたい文字列を指定する事が出来ます。
ここでは、「うん」と「え?」の2つだけ指定しました。


・with title


ウィンドウのバーに表示させる文字列を指定出来ます。
ここでは「質問」と指定しました。


・default button


これは、ダイアログを開いた時点で、どのボタンをアクティブ?にするか指定します。
ここでは1、2、3と指定出来る訳ですが、左から順にアクティブにしたいボタンを切り替えが出来ます。
ここでは「default button 1」としていますので、「うん」ボタンがアクティブになってます。


以上から、Macにはこんな風にダイアログボックスが出てきたと思います。
Apple Script
次ですが、色んな言語で出てくる「set」ですね。
Apple Scriptでも、setで変数を設定します。
「button returned of result」は定義されてて、
読んで字のごとく「ボタンの返された結果」です。
ボタンの返された結果を変数「answer」とします。


そうして、次はif文ですね。
これも他言語とほぼ変わりないですが、条件分岐をします。
もし変数answerが文字列、「うん」だった時は、
文字列「∵ゞ(´ε`●) ブ!」のダイアログボックスを表示させます。
Apple Script
もし変数answerが文字列「うん」以外だった時は、
文字列「ヽ(゚∀゚ )アヒャヒャ」のダイアログボックスを表示させます。
Apple Script


もちろんelseのところで「else if answer is "え?" then」
と書いて、「もし変数answerが文字列"え?"だったら」としても良いですが、
ボタンが二つしかないので、「うん」以外は「え?」しかないのでelseで省略しました。


以上です。OSXには初めからスクリプトエディタという開発環境が整ってますので、
皆さんも是非チャレンジしてみて下さい(笑)


Apple Scriptが簡単とも言われてる理由でもありますが、
Apple Scriptは命令文を書いて、それを「各アプリケーションにお願いする」という形で動いてます。
よって、割と英語に近い分かりやすい形で記述出来ます。
この各アプリケーションにお願いするような相互作用によるシステムの振る舞いを、
C++で良く聞く「オブジェクト指向」というみたいです。
また、各アプリケーションにお願いする訳なので、各アプリ専用のコマンドがあったりして、
便利だなぁと思ったりしました。



AppleScript Studioでゼンマイびゅんびゅん!!

AppleScript Studioでゼンマイびゅんびゅん!!