お菓子のカールじゃないほうのカール


@ITに新しい記事が載っていましたので紹介させてもらいます。


■いまさら聞けない 第15回
Curl」入門(お菓子じゃない方)
http://www.atmarkit.co.jp/fwcr/rensai/imasara15/imasara15_1.html


記事のなかでは、Curlを技術的な側面にフォーカスして、解説されています。


技術的特徴がいくつか挙げられていますが、その中でも、
技術者にとって面白さを感じるのは、ヘルプドキュメント内の実行可能サンプルと、
複数の戻り値 といったところではないでしょうか。


前者は実際に触ってもらうのがよいのですが、
ヘルプの中のAPIごとに用意されているサンプルが、
表示されているソースコードを修正して、ボタンひとつですぐ実行される、というものです。




後者は、関数の戻り値は、通常他の言語ではひとつと決まっていますが、
Curlの場合、こんな書き方が出来ます。

プロシージャ(関数)の定義

{define-proc public {sum a:int, b:int}:(value1:int, value2:int, result:int)
let c:int = a + b
{return (a, b, c)}
}

プロシージャ(関数)から複数戻り値を受け取る
i, j, k には、それぞれ、10,20,30が格納される。

{let (i:int, j:int, k:int) = {sum 10, 20}}
{value {VBox i,j,k}}


私も、C言語などで複数の戻り値がほしい場合は、配列格納して・・・なんてことを
してた覚えがありますが、コードとしても、Curlのほうが読みやすくなると思います。


Curl社サイトからダウンロードできるCurlの開発環境は無償ですので、
興味のある方はぜひ一度、触ってみてください。


Curl開発環境
http://www.curlap.com/download/ide/index.html