スクリプトオブジェクトは、スクリプトの中でユーザが定義し、使用できるオブジェクトです。ここではスクリプトオブジェクトを定義したり、使用するための構文について説明します。
|
構文
(日本語表現形式)スクリプト [ scriptVariable ] は
[ 属性:propertyLabel = initialValue ] ...
[ handlerDefinition ] ...
[ statement ] ...
以上(英語表現形式)
script [ scriptVariable ]
[ property propertyLabel : initialValue ] ...
[ handlerDefinition ] ...
[ statement ] ...
end [ script ]
例
(日本語表現形式)スクリプトJohnは
属性:HowManyTimes=0
someoneへsayHelloとは
HowManyTimesをHowManyTimes+1にする
“こんにちは、”&someoneを返す
以上
以上
Johnについて
“かおり”へsayHello
“ようこ”へsayHello
以上(英語表現形式)
script John
property HowManyTimes : 0
to sayHello to someone
set HowManyTimes to HowManyTimes + 1
return "こんにちは、" & someone
end sayHello
end script
tell John
sayHello to "かおり"
sayHello to "ようこ"
end tell
構文
(日本語表現形式)属性:親=variable
(英語表現形式)
property parent : variable
例
スクリプトXは
sayHello()とは
“こんにちは、”&getName() を返す
以上
getName()とは
“えみ”を返す
以上
以上スクリプトYは
属性:親=X
getName() とは
“つよし”を返す
以上
以上YについてsayHello()
or
script X
on sayHello()
return "こんにちは、" & getName()
end sayHello
on getName()
return "えみ"
end getName
end scriptscript Y
property parent : X
on getName()
return "つよし"
end getName
end scripttell Y to sayHello()
構文
(日本語表現形式)parameterList commandName を続ける
or
parameterList commandName の続き --- 返された値を得る場合(英語表現形式)
continue commandName parameterList
註)
continueは、命令を親オブジェクトに継承するための命令です。例えばアプリケーションの終了時に何らかのアクションを行いたい場合「quit」ハンドラを定義しますが、アプリケーション終了のイベントがそのハンドラにインタラプトされてしまうと、本来行うべき終了動作が行われなくなってしまいます。これを回避するために、continueを使って親オブジェクトにそのイベントを継承するわけです。
例
スクリプトNotSoSimpleは
属性:親=John
someoneへsayHelloとは
もしHowManyTimes>10ならば
“もう挨拶するのには疲れたよ。”を返す
そうでなければ
someoneへsayHelloを続ける
以上
以上
以上or
script NotSoSimple
property parent : John
on sayHello to someone
if HowManyTimes > 10 then
return "もう挨拶するのには疲れたよ。"
else
continue sayHello to someone
end if
end sayHello
end script