AppleScript とは?ページ内リンク ↓ウィキペディア(Wikipedia)記事 ↓Yahoo!知恵袋AppleScript(アップルスクリプト)は、アップルが開発したMac OS用のオブジェクト指向のスクリプト言語。System 7(Mac OS 7にあたる)から採用されている。 出典: 『ウィキペディア(Wikipedia)』 AppleScript 出典: 『はてなダイアリー』 関連商品
Matt Neuburg /
最安値(新品): ¥ 2,868
最安値(中古): ¥ 3,967
|
|||||||||||||||||||||||||||||||||||
| AppleScript | |
|---|---|
| パラダイム | オブジェクト指向、スクリプト言語 |
| 登場時期 | 1993年 |
| 型付け | 弱い動的型付け |
| 影響を受けた言語 | HyperTalk |
| 拡張子 | .applescript .scpt |
| プラットフォーム | System7、Mac OS 8、Mac OS 9、Mac OS X |
| ウェブサイト | http://www.apple.com/applescript/ |
AppleScript(アップルスクリプト)は、アップルが開発したMac OS用のオブジェクト指向のスクリプト言語。System 7(Mac OS 7にあたる)から採用されている。
目次 |
AppleScriptはOSAに準拠したスクリプト言語の一つであり、アプリケーション等のプロセスにAppleEventを送ることにより自動操作を実現する。そういった意味ではマクロ言語と同等。
AppleScriptは汎用性が高く、アプリケーションがAppleEventに対応していればそのアプリケーションに処理を委ね、その処理結果を別のアプリケーションに対して用いることも可能である。また、現在のバージョンではSystem Eventsと呼ばれる機能を用いて、スクリプトからアプリケーションにメニュー操作やキー入力を伝達することさえも可能になっている。アプリケーションは、システム経由で送られてきたAppleEventメッセージを解釈して対応した処理を行い、処理結果を再びシステムを経由してAppleEventメッセージとして返す。そのため、処理速度は遅い。
AppleScript言語そのものはユーザーインターフェイスを持たず、アプリケーションやスクリプティング機能追加(OSAX)と呼ばれる追加モジュールの機能を利用してユーザーとの対話を行う。標準的なOSAXは簡素なダイアログ程度のユーザーインターフェースしか持たない。
多様な自作のインターフェースを持たせるにはDialogDirectorというOSAXや、AppleScript Studio、HyperCard、FaceSpan、REALbasicなどを用いる必要がある。AppleScript Studio、HyperCard、およびFaceSpanはプログラミング言語としてAppleScriptを採用しており、コントロール(GUIの部品)が操作されると、AppleScriptコードの中から適切なイベントハンドラが呼び出され、その範囲内に記述されたAppleScriptを実行する。一方のREALbasicは、REALbasic本来のプログラミング言語を拡張するための言語という位置づけで、機能毎にスクリプトが記述されたファイルを用意し、REALbasicのコードからそのファイルを呼び出して実行する。また、Automatorのワークフロー記述の一部としてAppleScriptを使用することもできる。
Mac OSにはスクリプトの編集・実行ツールであるスクリプトエディタ(Mac OS 9以前の名称は『スクリプト編集プログラム』)が付属する。
Mac OS X 10.1.2から搭載されたAppleScript Studioにより、アップル純正の統合開発環境Xcode(旧Project Builder)でAppleScriptを開発言語として使えるようになり、Interface Builderを用いてユーザーインターフェースの設計が行えるようになった。またMac OS Xでは、テキストで書いたスクリプトをコマンドラインからコンパイル・実行することも可能になった。
HyperCard用のスクリプト言語であるHyperTalkに似た、英語に近い構文が採用されており、基本的には習得し易い。初期は日本語表現形式を含む英語以外の言語による記述も可能だったが、Mac OS 8.5以降は英語表現形式のみが採用されている。ただし、英語表現形式の場合も変数名は | で囲むことで日本語などを使用できる。
アプリケーション毎に命令等の用語を定義出来る特質から、アプリケーションによっては作法が全く異なり、習得し辛いという面もある。
スクリプトの例(変数「持ち物=myItem」の中身が0だったらダイアログを表示する)
英語
if myItem = 0 then display dialog "持ち物がありません" buttons {"OK"} default button "OK" end if
通常は上記のように記述するが、より英文に近い以下のようなコードも記述できる。ただし複数の処理を一行のif文に組み込むことはできないので、先ほどの構文を使用することになる。下記のコードでは比較演算子の“等価”を表す = が is に置き換えられている。
if myItem is 0 then display dialog "持ち物がありません" buttons {"OK"} default button "OK"
変数名に日本語を用いた例
if |持ち物| is 0 then display dialog "持ち物がありません" buttons {"OK"} default button "OK"
日本語
もし「持ち物」が0ならば
“持ち物がありません”をボタンリスト:{“OK”}、デフォルトボタン:“OK”で表示する
以上
|
||||||||||||||
PageRank5以上の相互リンク
・相互リンクスクエア
(PageRank 5)
・相互リンク インプロス
(PageRank 5)
→便利!NINJA TOOLS
→FC2検索
用語
Wikipedia
YouTube
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |