XHandler
What
XHandler はハンドラ名を文字列で指定してハンドラを実行する為の AppleScript ライブラリです。
その他に、次のことができます。
- スクリプトオブジェクトがハンドラを実装しているか調べることができます。
- ハンドラが実装されていなければ、別のスクリプトにハンドラの呼び出しを預けることができます。
実行中にハンドラを柔軟に切り替えることができ、Chain of Responder や method forwarding など、動的な振る舞いの実現に訳にたちます。
AppleScript の言語レベルではサポートされていない機能を実現する AppleScript ライブラリです。
positional parameter を持ったハンドラならどんな物でも実行できます。残念ながら labeled parameter を持ったハンドラは実行できません。
Sample
use XHandler : script "XHandler"
script BScript
on say_msg(a_msg)
return "hey " & a_msg
end say_msg
end script
script AScript
on show_msg(a_msg)
return "hello " & a_msg
end show_msg
on successor()
return BScript
end successor
end script
set xhandler1 to XHandler's make_with("show_msg", 1)
log xhandler1's do(AScript, "good morning")
log xhandler1's responded_by(AScript)
set xhandler2 to XHandler's make_with("say_msg", 1)
log xhandler2's call_to(AScript, "good evening")