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は文章を装飾するためのマークアップ言語として使うことができます。