お菓子のカールじゃないほうのカール
@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の開発環境は無償ですので、
興味のある方はぜひ一度、触ってみてください。