SenseTalk変数に関するグローバルプロパティ
SenseTalkには、スクリプトにおける変数へのアクセスや変数の扱い方を管理できるグローバルプロパティがいくつか用意されています。
SenseTalkにおける変数の扱い方については、変数をご覧ください。
グローバルプロパティの値を設定するときは、SenseTalkコマンドのSetやPutが使用できます。これらのプロパティを参照する場合は、単語theをプロパティ名の前に使用し、通常の変数と区別する必要があることに注意してください。
例:
set the searchrectangle to (1,2,2,3)
put 2 into the remoteworkinterval
以下の構文を使用して、グローバルプロパティ内で特定の名前付きプロパティの追加や変更を行うことができます。
set the namedColors.pink to color("RGB,1.0,0.5,0.5") -- pinkをthe namedColorsグローバルプロパティに追加し、そのRGBカラー値を定義します
set the listFormat's separator to " & " -- the listFormatグローバルプロパティのseparatorプロパティを設定します
setoptionまたはsetoptionsコマンドを使用して、プロパティの設定や更新を行うこともできます。setoptionコマンドを利用すると単一のプロパティを更新でき、setoptionsコマンドを利用すると複数のプロパティを更新できます。
例:
setoption searchrectangle, (1,2,2,3)
setoptions (searchrectangle: (1,2,2,3), scriptlogging: yes)
ローカルプロパティとグローバルプロパティの扱い方に関する追加情報は、SenseTalkにおけるローカルプロパティとグローバルプロパティをご覧ください。
関連するグローバルプロパティ
Eggplant Functionalでのスクリプトの扱いに特化したプロパティの一部に、関連するグローバルプロパティがあります。 the suiteVariablesプロパティでは、定義済みローカル変数として機能するスイート規模の変数を設定したり、修正したりすることができます。 the suiteVariablesの詳しい情報は、Eggplant Functionalグローバルプロパティをご覧ください。
the predefinedVariablesグローバルプロパティ
値:変数の定義を格納したプロパティリスト
デフォルト:現在の事前定義済みの変数のリストは、提供されている定義済み変数をご覧いただくか、次のコマンドを実行することで確認できます。
put the predefinedVariables
挙動:このプロパティは、すべての事前定義済みの変数の定義を格納したプロパティリストです。 このプロパティに変更を加えると、そのキーの中に名前のある未割り当て変数の用法が、それ以降変わってきます。 このプロパティを修正することで、実行中に事前定義済みの変数を作成したり、削除したり、その値を変更したりすることができます。
例:
set the predefinedVariables.twelve to "⓬"
put twelve // ⓬
例:
log checkMark repeated 5 times // 「✓✓✓✓✓」をログします
set the predefinedVariables's checkMark to "☑"
log checkMark repeated 5 times // 「☑☑☑☑☑」をログします
the evaluationContextグローバルプロパティ
値:Local、Global、Universal
デフォルト:Local
挙動:このプロパティでは、do、send、value()およびmerge()式における変数の範囲を決定します。 ローカル変数のコンテキストは、スクリプト内のハンドラ単体です。 グローバル変数は、プロジェクト内のどのハンドラからでも参照でき、異なるハンドラ間で変数の値を保持します。 ユニバーサル変数は、1セッションの間はずっと実行間で変数の値を保持します。
例:
set the evaluationContext to "global"
例:
set global myName to "Carrie"
put merge("My name is [[myName]]") // 「My name is myName」を表示します
set the evaluationContext to "global"
put merge("My name is [[myName]]") // 「My name is Carrie」を表示します
the strictVariablesグローバルプロパティ
値:True、False
デフォルト:False
挙動:このプロパティでは、未宣言のローカル変数の厳格な評価を設定することができます。 デフォルト値のFalseに設定されている場合は、未宣言または未使用の変数にアクセスしようとすると、変数が引用符なしのリテラルとして扱われます(すなわち、初期状態では変数の値が変数名と同じになります)。 the strictVariablesをTrueに設定した場合、明示的に宣言や値の割り当てが行われていない変数にアクセスしようとすると、変数名が返されるのではなく、例外が投げられます。
例:
set the strictVariables to true
例:
log SUTName // 「SUTName」をログします
log BrowserName // 「BrowserName」をログします
set the StrictVariables to true
log SUTName // 例外「StrictVariablesViolation Variable 'SUTName' used without being set」が投げられます
例:
set the StrictVariables to true
set SUTName to "WindowsVM"
Connect SUTNme // 例外が投げられます。変数名のタイプミス検出に便利です
関連: