プログラミング言語における関数という用語は、一般に特定の処理を実行するコード ブロックを意味します。開発者は関数を利用して、コードを体系化したり読みやすくすることができます。関数でその都度異なる値を使って同じ処理を実行できるようにするため、関数に対して引数を使用できます。引数は、関数を呼び出すときに指定します。また、関数は一般に 1 つ以上の値を返します。Curl® 言語にはさまざまな種類の関数があります。戻り値のデータ型と引数に関する規則は、どの関数でもほぼ同じです。
Curl 言語における関数の種類としては、メソッド、アクセッサ、コンストラクタ、およびファクトリーがあります。これらの関数はどれもクラスに関する機能を実行しますが、Curl 言語のファーストクラス オブジェクトではありません。
また、Curl 言語の関数はそのプロパティによって 3 種類に分類できます。このプロパティを使うことにより、関数をファーストクラス オブジェクトとして扱うことができます。
- それぞれの関数には、proc type (プロシージャ型) と呼ばれる特有のデータ型が設定されています。
- 関数を、同じプロシージャ型の変数に値として代入できます。
- 関数を、any 型の変数に値として代入できます。
Curl 言語の中で関数を呼び出すには、これらの共通プロパティ、つまり
プロシージャを使います。Curl 言語における主なプロシージャの種類は次の 3 つです。
- グローバル プロシージャ (トップレベル プロシージャまたは単にプロシージャと呼ばれることもある):トップレベル コード内の define-proc で定義された名前付きプロシージャ。
- 匿名プロシージャ:任意のレベルで proc 式によって生成された名前なしプロシージャ。
- クラス プロシージャ:クラス内において define-proc で定義された名前付きプロシージャ。(クラス プロシージャはグローバル プロシージャによく似ています。ただし、クラス プロシージャを呼び出す場合、class-name.proc-name のようにプロシージャ名の前にクラス名を付加する必要があります。)
この章では、グローバル プロシージャ、匿名プロシージャ、およびそれらのプロシージャの引数の共通プロパティ (他の種類の関数にも適用されます) について説明します。この章は次のセクションに分かれています。
Copyright © 1998-2019 SCSK Corporation.
All rights reserved.
Curl, the Curl logo, Surge, and the Surge logo are trademarks of SCSK Corporation.
that are registered in the United States. Surge
Lab, the Surge Lab logo, and the Surge Lab Visual Layout Editor (VLE)
logo are trademarks of SCSK Corporation.