JP1 Version 8 JP1/Script(UNIX(R)用)

[目次][用語][索引][前へ][次へ]

Function

機能

Functionプロシージャの名前,および引数を宣言して,Functionプロシージャの始まりを示します。

形式

Function  Name〔(ArgList)〕
  〔Statements〕
  〔Name = Expression〕
  〔Exit Function〕
  〔Statements〕
  〔Name = ExpressionEndFunction

指定項目

Name

定義するFunctionプロシージャの名前を指定します。名前は変数名の付け方の規則に従って指定します。変数名の付け方の詳細は,「4.1.1 (1) 変数名の付け方」を参照してください。

注意
プロシージャ名には,変数名と同じ名前を指定できません。同じ名前を指定した場合は,プロシージャ名が優先されます。

ArgList

Functionプロシージャを呼び出すときに,Functionプロシージャに渡す引数を表す変数のリストを指定します。複数の変数を指定する場合はコンマ(,)で区切ります。引数がある場合には,引数を必ず括弧で囲んでください。

Statements

Functionプロシージャ内で実行される一連のステートメントを指定します。

Expression

Functionプロシージャの戻り値を指定します。

説明

Functionプロシージャはパブリックプロシージャなので,スクリプト内のほかのすべてのプロシージャからも参照できます。

実行可能なコードはすべてプロシージャ内に記述する必要があります。また,FunctionプロシージャをほかのFunctionプロシージャ,またはSubプロシージャの中で定義することはできません。

Exit Functionステートメントは,Functionプロシージャを直ちに終了します。プログラムの実行は,そのFunctionプロシージャを呼び出したステートメントの次のステートメントから継続されます。Exit Functionステートメントは,Functionプロシージャ内の任意の位置で何回でも指定できます。

Functionプロシージャの呼び出し方法については,Callステートメントの説明に記述しています。Callステートメントの詳細は,「5.2 ステートメントの詳細」の「Call」を参照してください。

Functionプロシージャから値を返すには,値をFunctionプロシージャ名のNameに入力します。Functionプロシージャ内の任意の場所で,必要に応じて何回でもNameに値を入力できます。Nameに値を入力しない場合は,既定の戻り値が返されます。既定の戻り値は,長さ0の文字列("")です。

Functionプロシージャで使う変数には,Functionプロシージャ内で明示的に宣言される変数と,それ以外の変数の2種類があります。プロシージャ内でDimコマンドなどを使用して明示的に宣言された変数は,そのプロシージャの中だけで有効なローカル変数になります。プロシージャ内で明示的に宣言しないで使われている変数も,そのプロシージャの外部のさらに上のレベルで明示的に宣言されないかぎりは,ローカル変数となります。Functionプロシージャ内のローカル変数の値は,プロシージャの実行が終了すると破棄されます。

プロシージャ内で明示的に宣言していない変数をプロシージャ内で使うことはできますが,その変数と同じ名前の変数などがスクリプトレベルで定義されている場合,その変数はグローバル変数として扱われます。

Function  BinarySearch (...)
  :
  ' 値が見つかりません。値としてFalseを返します。
  If  lower > upper  Then
      BinarySearch = False
      Exit Function 
  End
  :
End Function