|
基本構文
|
|
作者 岡田 一志
|
|
2008年4月05日(土曜日) 00:00 |
|
Curlにはキーワード引数と残余引数という独特な引数を付与できます。
通常の引数
プロシージャやメソッド等の通常の引数では以下のようにします。
|
|| プロシージャの作成 {define-proc public {my-proc1 i:int}:void || 処理 }
{my-proc1 100} || 実行
|
キーワード引数(Keyword Argument)
Curlの持つキーワード引数とは、「引数 = 引数のデフォルト値」というように、プロシージャやメソッド等にセットします。以下に例を記載します。
|| プロシージャの作成 {define-proc public {my-proc2 i:int = 100}:void || 処理 }
{my-proc2 i = 200} {my-proc2} || {my-proc2 i = 100}と同等 |
また、複数キーワード引数を指定することや通常の引数と混合させることができます。
|
|| プロシージャの作成 {define-proc public {my-proc3 str:String, i:int = 100, f:float = 1.0 }:void || 処理 }
{my-proc3 "abc", i = 200} {my-proc3 "efg", f = 2.0} {my-proc3 "xyz"} {my-proc3 "abc", i = 200, f = 2.0}
|
キーワード引数の利点としては、キーワード引数の値をセットする必要がなければ省略できますし、順番が前後しても特に問題がありません。
残余引数(Rest Argument)
残余引数とは、引数に名前(変数)を持たない引数を、無制限に受け取ることができます。これは3つのピリオド”...”として指定します。また、”...:String”のように、型を指定することができます。
{define-proc public {my-proc4 ...}:void }
{define-proc public {my-proc5 i:int, ...:String}:void } |
プロシージャの中では以下のようにコンテナループでそれぞれの引数を順に取得することができます。
{define-proc public {my-proc6 ...}:void {for v in ... do {output v} } }
{my-proc6 "abc", "def", 123, 1.0, true} |
詳細については、こちらを参照ください。
|
|
最終更新 ( 2008年4月24日(木曜日) 20:59 )
|