パラメータと結果

パラメータとは、コマンドまたは関数に渡される値のことをいいます。コマンドを呼び出す際に、コマンド名の後にコンマで区切ったパラメータを列記することによって、そのコマンドにパラメータを渡すことができます。

doSomethingImportant 31,"green",style

上の例では、3つのパラメータ(数値の31、テキストのgreen、変数のstyle)をdoSomethingImportantコマンドに渡しています。同様に、呼び出す関数名の後ろの丸括弧内にパラメータを列記することで、パラメータを関数にも渡すことができます。連続する2つのコンマはemptyパラメータを表しており、リストの終わりの最後のコンマは無視されます。以下の例では、次の3つのパラメータ(「silverBar」、「」、「16」)が渡されます 。

get verifyQuantity("silverBar",,16,)

パラメータとして変数を渡す場合はその値のみが渡され、コンテナの参照で説明するように、参照によって渡す場合を除き、ローカル変数のコンテンツを変更できなくなります。

as parametersを指定すると、個々のパラメータを渡す代わりに、リスト内に含まれるすべての値を渡すことができます。これは単一エンティティとしてリストを渡すのではなく、値を個別に渡します。

updateAllItems thingsToBeUpdated as parameters

以下で説明するように、ハンドラは受け取るパラメータを宣言して使用し、結果を提供することができます。

params宣言

振る舞い

スクリプトのinitialハンドラに対して、名前付き入力パラメータを宣言します。params宣言は、スクリプトの最初のステートメントで行う必要があります。これで、入力パラメータに名前が割り当てられます。以下のように、パラメータにはparamparamcountおよびparams関数 を利用してアクセスすることも可能です。

params width,height

技術トピック

構文:params paramName1 {, paramName2 ...}

param関数

振る舞い

パラメータリスト内の通常の位置で指定される、現在のハンドラに渡されるパラメータのうちの1つの値を返します。宣言した名前付きパラメータの数にかかわらず、ハンドラは任意の数の入力パラメータを受け取る場合があります。param関数を使用すると、それらの値を回収できます。

get the param of 1 -- 最初のパラメータを得ます

put param(0) -- ハンドラ名を示します

技術トピック

構文:param of numExpr

param( numExpr )

paramCount関数

振る舞い

現在のハンドラに渡されるパラメータの数を返します。

repeat with n=1 to the paramCount

put "Parameter " & n & " is " & param(n)

end repeat

技術トピック

構文:paramCount

paramCount()

params関数

振る舞い

現在のハンドラに渡されるすべてのパラメータ値の前のハンドラ名で構成されるテキスト文字列を返します。リスト以外のパラメータ値とプロパティリストは、それぞれ引用符で囲みます。

put the params -- 次のように示されます:test "John Doe","27",("JD","Bud")

技術トピック

構文:params

params()

parameterList関数

振る舞い

現在のハンドラに渡されたすべてのパラメータを含むリストを返します。渡されたパラメータを使用して作業するこの方法は、paramCountparam関数を使用するよりも便利な場合があります。

repeat with each item of the parameterList

add it to total

end repeat

return func(the parameterList as parameters)

-- paramsをfuncに渡します

技術トピック

構文:parameterList

parameterList()

messageType関数

振る舞い

「Command(コマンド)」や「Function(関数)」などのように、処理されるメッセージのタイプを指定する値を返します。この関数を使用して汎用的な(「処理用の」)ハンドラを有効化し、呼び出し方法に応じて異なるアクションをとることが可能になります。返される可能性のあるその他の値には、「GetProp」や「SetProp」などがあります。

if the messageType is "Function" then return theAnswer

技術トピック

構文:messageType

messageType()

returnコマンド

振る舞い

関数ハンドラ内で使用する場合は関数の結果を返し、メッセージハンドラ内で使用する場合はresultを設定します。

return pi*diameter

技術トピック

構文:return {式}

returnステートメントは、現在のハンドラの実行を終了します。を与えていない場合は、empty が返されます。

result関数

振る舞い

前のコマンドで設定された結果(存在する場合)を返します。例えば、ファイル上で作動するコマンドの多くは、成功するとresultをemptyに設定し、失敗すると失敗した箇所を示すメッセージに設定します。

if the result is not empty then throw "Error", the result

技術トピック

構文:result

result()

各ステートメントの冒頭で、resultは前のステートメントで生成した結果に設定されます。そのため、演算の結果を判断するには、直後に実行するステートメントの一部として本関数を呼び出す必要があります。

returnステートメントを(関数ではなく)コマンドとして呼び出されたハンドラの一部として実行する場合は、その戻り値は、そのハンドラを呼び出したスクリプト内でresultを設定します。

一部の状況において、次のコマンドはresultをempty以外の値に設定します。answeraskconvertcopycreatedeletemoveopenpostreadrenamereplaceseekshell。また、いつファイルまたはURLにアクセスするかを設定することもできます。結果を検証して前のコマンドが成功したかどうかを判断する場合は、一般的に、結果に含まれる特定の語を検索するよりも、結果がemptyかどうかをチェックする方が賢明です。これは、エラーメッセージの正確な言い回しが将来的なリリースにおいて変更になる可能性があるためです。

throwExceptionResultsグローバルプロパティがtrueに設定されている場合は、コマンドがresultを例外オブジェクトに設定するたびに(ほとんどのエラー状況で発生)、上述したように本関数を介して利用できるようになるのではなく、例外が投げられます。

empty以外の結果を設定するたびに、その結果はresultHistoryグローバルプロパティに挿入されます。これにより、スクリプトが前のステートメントから結果の値を回収することが可能になります。ただし、empty値は含まれないため、結果を特定のステートメントと一致させるには、細心の注意を払う必要があります。resultHistoryLimitグローバルプロパティで指定したように、結果の制限数は維持されます。この制限値に達すると、古い結果が破棄されます。

handlerNames関数

振る舞い

オブジェクトのスクリプト内の各ハンドラの名前のリストを返します。ハンドラの表記順は定義されていません。

put handlerNames of Account

技術トピック

構文:handlerNames of anObject

handlerNames(anObject)

 

This topic was last updated on 2月 01, 2019, at 11:13:23 午前.

Eggplant icon Eggplant.io | Documentation Home | User Forums | Support | Copyright © 2019 Eggplant