5 Curl言語の基本
Curl言語で書いたプログラムは次のようなものになります。
{curl 7.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}
{define-class public First
{method public {triple num:int}:int
{return num * 3}
}
}
{do
{let f:First = {First}}
{for i:int=0 to 5 do
{let result:int = {f.triple i}}
{if result mod 2==0 then
{popup-message result & "偶数"}
else
{popup-message result & "奇数"}
}
}
}
おそらく、最初の印象は「中カッコだらけ」でしょう。Curlでは文を「{~}」で囲みます。中カッコのことを英語で「Curly bracket」と言いますが、そこから「Curl」と名づけられたということも納得できます。
変数の型指定は、「変数名:型」のようになります。また、中カッコでくくられた式はメソッドとなって、最初の式がメソッド名、2番目以降の式が引数となります。
ここまでをちょっとまとめてみましょう。少し補足もあります。
| 構文 | Curl | Java |
|---|---|---|
| 文 | {~} | ~; |
| 型指定 | 要素:型 | 型 要素 |
| メソッド | {メソッド名 引数} | メソッド名 (引数) |
| 構文要素 | {構文 パラメータ いろいろ処理} | 構文 (パラメータ){いろいろ処理} |
| コンストラクタ | {クラス名 引数} | new クラス名(引数) |
では、この表を元に、ちょっと先ほどのCurlのソースを機械的に書き直してみましょう。このようになります。
define-class public First{
method public int triple(int num){
return(num * 3);
}
}
do{
let First f = new First();
for(int i =0 to 5) do{
let int result = f.triple(i);
if(result mod 2==0) then{
popup-message(result & "偶数");
}else{
popup-message(result & "奇数");
}
}
}
お!なんだかJavaっぽくなりました!
ちょっと強引な部分はありますが、少し構文のルールを覚えてしまえば、ほとんどJavaと同じようなことができることが分かります。
6 Curlに触ってみよう
それでは、少しCurl言語に触ってみましょう。Curlの開発環境はこちらからダウンロードできます。
開発環境をインストールしたら、Curl言語を試してみましょう。通常、手っ取り早くその言語を試すためには、IDEなど言語に対応した開発環境を立ち上げると思います。でも、Curlを試したいなら、最初にやるべきは、ドキュメントを開くことです。

こう書くと、「ドキュメントを見て概要を最初に把握しておくことが、結果的にはてっとり早い」などと言おうとしてると思われるかもしれません。でもCurlのドキュメントはそうではなく、本当にてっとり早いのです。
例えば、ドキュメントを開いて「基本概念 - 構文 > 基本的な構文」の「コメント」の直前に「例:Unicode エスケープ シーケンスの使用」という例があります。

ここで「実行」ボタンを押すと、サンプルコードとして書いてあることが実行されるのです。

サンプルコードの変更と実行
さらに、ここに次のコードを追加してみましょう。
\n
{CommandButton
label="こんにちは",
{on Action at b:CommandButton do
{popup-message "やあ!"}
}
}
ドキュメント中のサンプルが編集できるというのも驚きですが、もちろんここで編集したコードは、そのまま「実行」ボタンで実行することができます。

ここでは、ボタンを押すとポップアップメッセージが出るように処理を書いているので、「こんにちは」ボタンを押すと「やあ!」とメッセージが表示されます。

このように、Curlでいろいろ試すときには、まず試したいことが書いてあるドキュメントを開いて、そのサンプルコードをそのまま編集して実行するというのがおすすめです。
7 マークアップ言語としてのCurl
Curlドキュメントの説明を見ると、「このドキュメントビュワーはCurlで書かれている」とあります。おそらくですが、このドキュメント自体もCurlで書かれていると思われます。
ドキュメントビュワーをその言語自体で書いている開発環境は多くありますが、その多くは、ドキュメント自体はHTMLなどで書かれています。ですが、Curl言語は、このようなドキュメントを書けるような言語になっています。
例えば、次のように記述して文章を装飾できるようになっています。
ここで、この部分を{bold 太く}記述します。
表示結果は次の通りです。

このように、Curlは文章を装飾するためのマークアップ言語として使うことができます。

