シグネチャ
{method [access] [modifier-list]
{method-name [arg-list]}:[return-types]
code-body
}
access: アクセス属性です。有効な属性は public、library、package、protected および privateです。access を指定しない場合のアクセス属性の既定値は、package になります。
modifier-list: オプションの修飾子リストです。メソッドの有効な修飾子は、abstract、inline、final、sealed、open、および deprecatedです。複数の修飾子を指定する場合は、空白で修飾子を区切ります。
method-name: メソッドの名前。Curl メソッドの命名規則に従って、有効な Curl 識別子を作成することを推奨します。名前には小文字のみ使用します。メソッド名に複数の単語が含まれる場合は、ハイフンで単語間を区切ります。
arg-list: メソッドの引数のリスト。リストされた引数または残余引数を指定できます。指定可能な引数のフォーマットは、位置フォーマットまたはキーワード フォーマットです。引数の指定はカンマで区切ります。
return-types: メソッドに対する戻り値のデータ型。メソッドは、1 つ以上の値を返します。return-type を指定しなかった場合、any 型の戻り値を 1 つ指定したものと見なされます。
code-body: メソッドの本体。
code-body コード ブロック。コード ブロックは、1 つ以上の Curl 式で構成されます (
return 式が含まれることもあります)。このメソッドから 1 つ以上の値が返されるように定義するには、コード本体の中に必ず
return 式を記述する必要があります。コード本体に
return 式が存在する場合、Curl は
return 式の値をメソッドの呼び出している式に返します。
説明
メソッドの詳細については、『開発者ガイド』の「
メソッド」のセクションを参照してください。
例
たとえば、以下のコードを
define-class 内に記述すると、値を返さない (
void)
my-method という名前のメソッドが作成されます。このメソッドは、
arg という名前のデータ型
any の引数を 1 つとります。このメソッドはパブリック メソッドで、修飾子はありません。
{method public {my-method arg:any}:void
|| body of method
}
以下のコードは、2 つの整数値を返す
my-method という名前のメソッドを作成します。このメソッドは、
arg という名前のデータ型
any の引数を 1 つとります。このメソッドはパブリック メソッドで、修飾子はありません。
{method public {my-method arg:any}:(int, int)
|| body of method
{return my-int-1, my-int-2}
}