手続き呼び出しで渡されるパラメータ
|
説明
|
|
•
|
まず、name が評価されて、手続き定義に対して、形式パラメータ param1, ... , paramN が仮定されます。
|
•
|
次に、(exprseq の中の)実パラメータ expr1, ..., exprn が適当な順番で評価されます。(現在、特別な評価規則のない手続きの引数は左から右に順に評価されます。しかし、このような順で評価されることは、仕様として定められているものではありません。)
|
•
|
それから、各引数の型がパラメータに対して指定されたものと一致しているかどうかを調べられます。もしどれかが適合しなければ、トラップ可能なエラーが生成されます。パラメータ p の型が t であることを指定するには、そのパラメータをパラメータのリストの中で p::t と書く必要があります。ただし、パラメータに型情報を追加するのはオプションです。
|
•
|
続いて、手続き本体に現れるすべての paramI にそれに対応する exprI の値が代入されます。注意:手続きが実行されている間にそのパラメータが再評価されることはありません。
|
•
|
呼び出しのメカニズムは「評価済み名前による呼び出し」です。つまり、すべての実パラメータが初めに (「値による呼び出し」のように) 評価されますが、その後に、(「名前による呼び出し」のように) 各形式パラメータを対応する実パラメータで置き換えるべく、代入規則が適用されます。
|
•
|
実パラメータの個数は指定されている形式パラメータの個数と一致する必要はありません。
|
•
|
次の特別な名前に関するヘルプがあります: args, nargs, procname.
|
|
|
Download Help Document
Was this information helpful?