SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

7分でわかるCurl言語の特徴(AD)

7分でわかるCurl言語の特徴

Curlを言語的特徴から俯瞰する

  • このエントリーをはてなブックマークに追加

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を試したいなら、最初にやるべきは、ドキュメントを開くことです。

IDEではなくドキュメントを開く
IDEではなくドキュメントを開く

 こう書くと、「ドキュメントを見て概要を最初に把握しておくことが、結果的にはてっとり早い」などと言おうとしてると思われるかもしれません。でもCurlのドキュメントはそうではなく、本当にてっとり早いのです。

 例えば、ドキュメントを開いて「基本概念 - 構文 > 基本的な構文」の「コメント」の直前に「例:Unicode エスケープ シーケンスの使用」という例があります。

ドキュメントのサンプルコード
ドキュメントのサンプルコード

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

サンプルコードの実行
サンプルコードの実行

サンプルコードの変更と実行

 さらに、ここに次のコードを追加してみましょう。

\n
{CommandButton
    label="こんにちは",
    {on Action at b:CommandButton do
        {popup-message "やあ!"}
    }
}

 ドキュメント中のサンプルが編集できるというのも驚きですが、もちろんここで編集したコードは、そのまま「実行」ボタンで実行することができます。

サンプルを変更して実行
サンプルを変更して実行

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

ボタンも動く
ボタンも動く

 このように、Curlでいろいろ試すときには、まず試したいことが書いてあるドキュメントを開いて、そのサンプルコードをそのまま編集して実行するというのがおすすめです。

7 マークアップ言語としてのCurl

 Curlドキュメントの説明を見ると、「このドキュメントビュワーはCurlで書かれている」とあります。おそらくですが、このドキュメント自体もCurlで書かれていると思われます。

 ドキュメントビュワーをその言語自体で書いている開発環境は多くありますが、その多くは、ドキュメント自体はHTMLなどで書かれています。ですが、Curl言語は、このようなドキュメントを書けるような言語になっています。

 例えば、次のように記述して文章を装飾できるようになっています。

ここで、この部分を{bold 太く}記述します。

 表示結果は次の通りです。

書式が指定できている
書式が指定できている

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

次のページ
8 DSLとしてのCurl

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
この記事の著者

きしだ なおき(キシダ ナオキ)

フリーのプログラマ。Javaでの業務アプリケーションからC++での小型端末などさまざまなプログラムを開発。また、入門者向けのJavaセミナーなども行う。そのセミナーで鍛えられたテキストが、著書である「創るJava」。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4682 2009/12/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング