[パラメータ]

パラメータは、関数に情報を渡すために使用される変数です。Intent 言語では、関数パラメータは値によって渡されます。つまり、各変数のコピーが関数に渡されます。コピーされた変数への変更は元の値には反映されません。関数またはメソッドには、任意の数の(コンマで区切られた)パラメータを含めることができます。渡されたパラメータは、関数内のステートメントの変数として使用されます。

オプション パラメータ

オプション パラメータは、オプション モディファイヤで宣言されます。パラメータ一覧のオプション パラメータに従うパラメータも、オプションまたは変数である必要があります(変数パラメータについては次のセクションで説明します)。また、オプション パラメータは引数が指定されていない場合に使用する既定の式も指定する必要があります。

Function avgTest10(inList As List, Optional limit As Number = 10.0) As Number
   Dim i As Integer
   Dim total As Number = 0.0
   Dim avg As Number  

   For i = 1 To length(inList)
      total = total + nth(i,inList)
   Next i  

   avg =  total / length(inList)

   If avg > limit Then
      printValue("Average = " + stringValue(avg) + " Exceeds limit!")
   Else
      printValue("Average = " + stringValue(avg))
   End If

   Return avg
End Function

前の例では、数値の一覧の平均値が計算されています。平均が指定された制限を超えている場合、メッセージが出力されます。制限は既定値 10 のオプション パラメータです。オプション パラメータの既定値を使用して関数を呼び出すには、次のような構文になります。

オプション値制限の値を上書きするには、関数呼び出しに新しい値を割り当てる必要があります(:= 代入演算子の使用に注目してください)。

注: この関数呼び出しでは、関数宣言で定義された順序と同じ順序でオプション引数を指定する必要はありません。ただし、最初に必要な引数をすべて指定し、宣言で定義された順序と同じ順序にする必要があります。

変数引数パラメータ(...)

変数パラメータは、モディファイヤとして省略記号(...)で宣言されます。関数を宣言して任意の数のパラメータを取得できます。必須またはオプションのパラメータが一致すると、残りのパラメータが一覧にまとめられます。この一覧は、変数パラメータの値として提供されます。

関数ごとに 1 つの変数パラメータのみを使用可能で、宣言の最後のパラメータにする必要があります。変数パラメータの ... を省略すると、コンパイル時エラーが発生します。オプションのタイプ名を指定した場合、一覧内の各要素のタイプを示します。一覧にさまざまなタイプのパラメータが記述されている場合には、タイプ任意を使用します。

関数のボディ内で、変数パラメータを一覧として使用することができます。値が提供されていない場合、一覧は空になります。そのため、変数パラメータ一覧もオプションで、空の一覧という固定された既定値を持ちます。

次の例は、タイプが数字の 1 つの変数パラメータを持つ関数を示します。関数呼び出しから提供される引数のタイプは、すべて数字または整数である必要があります。