少なくとも1日はAppleScriptを学ぶことをお勧めします。重要なことは、OS XのGUI間アプリケーション通信はApple Eventsを介して行われ、その主な言語AppleScriptの構造に従っていることです。 Apple Eventsをさまざまな言語から呼び出すことができるブリッジがたくさんありますが、まずApple Eventsの概念を理解する必要があります。だから、少なくともあなたはAppleScriptにある程度の知識が必要です。
これはCocoaの場合と同じです。多くの言語でCocoaアプリケーションをコーディングできますが、ほとんどのドキュメントとコンセプトはObjective-Cに基づいています。 Cocoaを他の言語でコーディングする前に、少なくともObjective-Cに精通している必要があります。
Apple Events/AppleScriptシステムの概要をご紹介します。
各アプリケーションはオブジェクト指向システムを実装し、辞書として外部に公開しています。これはAppleScriptエディタで読むことができます。 AppleScriptエディタを開き、「ファイル」→「辞書を開く」を選択し、「iTunes」を選択します。ここでは、コマンド、クラス、それらのクラスのメソッドなどのリストが表示されます。次に、AppleScriptやRuby、またはLuaから、これらのオブジェクトやメソッドにアクセスします。
iTunesの選択したエントリの名前を「A-B」から「B-A」に変更したいとします。その後、コードは
set text item delimiters to "-"
tell application "iTunes" -- following statements are targeted to iTunes
repeat with entry in selection -- "selection" is a concept implemented in iTunes
set s to name of entry -- copy the name of entry to a local string s
set x to text items of s -- split the string s to a list according to text item delimiters
set y to {item 2 of x, item 1 of x} -- construct another list
set name of entry to y as string -- set the name. Note that "as string" adds the delimiters
end repeat
end tell
だろうはいのAppleScriptの文法は少し奇妙ですが、それは基本的に通常の命令型言語と1対1で対応しています。あなたが混乱している場合はthe official language guideを参照してください。優れたOSAX(AppleScriptの拡張システム)のないAppleScriptのテキスト操作は雑用です。ですから、まずAppleScriptの概念に慣れ親しんでから、Rubyやお気に入りの言語から使用するのは悪い考えではないことに同意します。
しかし、AppleScriptエディターで辞書を開くことを忘れないでください。これは、各アプリの実装やシステムへの公開場所を見つけるためです。
MacRubyでiTunesを制御する:http://merbist.com/2010/01/17/controlling-itunes-with-macruby/ – miku
ありがとう、私はこれを見ています – aurora