2012-12-07T22:51:14+09:00

AppleScriptObjC では、リストの要素へのリファレンスから値を取得できない。

次のように、AppleScript のリストの要素へのリファレンスから値を取得するスクリプトを考える。

property testList : {"a", "b", "c"}
set a_ref to a reference to item 1 of (a reference to my testList)
log {a_ref}

ノーマルな AppleScript の実行環境(例えば AppleScript エディタ)では、イベントログに

(*a*)

と表示される。

AppleScriptObjC では、リストの要素へのリファレンス a_ref の値を取得できないみたい。

XCode で実行すると、コンソールウインドウには、

(
"<NSAppleEventDescriptor: 'psn '(\"passing a reference\")>"
)

と表示される。

リストの要素のリファレンスは、ハンドラに渡して、ハンドラ中でその要素の値へのアクセス、およびリスト要素の値の置換等を行うのに使える。そいうことが AppleScriptObjC ではできないということだ。

Apple に Bug report した。

Mac OS X 10.6、Mac OS X 10.7 で確認した。Mac OS X 10.8 でも、きっと同じだろうなと思う。たぶん、修正されないんだろうなと思うと悲しくなる。