Javaプログラマのための5つのCurl基本構文

今回はCurlプログラムの基本的な構文のうち、Javaと比べて比較的特徴的なシンタックスの構文を5つ紹介します。JavaプログラマでこれからCurlを覚えようという方は、まずこれを読んでからCurlの学習を始めてください!

1. Hello, world!

いきなり最初に構文じゃないところから始めてしまいますが、まずはHello, world!の書き方。

まずはJavaから

public class Hello {
	public static void main(String[] args) {
		System.out.println("Hello, world!");
	}
}

標準出力に文字列の"Hello, world!"を出力します。

次にCurlCurlは標準出力ではなくブラウザに表示する例にします。

{curl 5.0 applet}
Hello, world!

最初の {curl 5.0 applet} はアプレットの先頭に必ず必要になる宣言*1で、Hello, world! はその直後にそのまま記述します。Curlアプレットのトップレベルに記述されたテキストはそのまま表示されます。

2. コメント

CurlJavaと同様に行末コメントとブロックコメントを記述するための構文があります。

// Javaの行末コメント
/* Javaのブロックコメント */
|| Curlの行末コメント
|# Curlのブロックコメント #|

Curlはこの他にも「タグ付きコメント」や「長さ指定コメント」という記法があります(が、あまり使わないかも。興味のある方はIDEのヘルプをご覧ください*2)。

3. 変数宣言

Javaは「データ型 変数[ = 初期値];」という構文で変数を宣言します。

int i = 5;
String s = "あいうえお";

Curlでは let という文を使います。

let i:int = 5
let s:String = "あいうえお"

書式は「let 変数:データ型[ = 初期値]」です。

4. 代入

次は代入文です。Javaは = 演算子を使うだけですね。

i = 10;
s = "かきくけこ";

Curlでは set という分を使います。

set i = 10
set s = "かきくけこ"
5. メソッド呼び出し

最後はメソッド呼び出しの構文です。
Javaは () を使いますね。お馴染みの記法だと思います。

obj.doMethod(param1, param2);

CurlJavaと同様、オブジェクトのメンバ(フィールドやメソッド)は「object.member」でアクセスします。ただしメソッド呼び出しに使用する括弧の種類と位置が違います。

{obj.do-method param1, param2}

Curlでは、Curlの名前の由来ともなっている {} (curly brackets)を使います。開始括弧の位置にも注意してください。
構文を対比すると、
(Java)オブジェクト名.メソッド名(引数1, 引数2, …);
(Curl){オブジェクト名.メソッド名 引数1, 引数2, …}

Curlは {} を頻繁に使用するため、慣れないうちはよく {} の使い方に混乱する場合がありますが、基本は上記の通りです。


以上、Javaの文法を知っている方がCurlを覚える場合に最初に押さえておくといいと思われる基本構文の違いを5つ紹介してみました。

ちなみにRIA Knowledge Centerというサイトで「Learning Curl By Way of Java」というドキュメントが公開されています。

実行環境やコンパイラの動作の違いなどを含めた、一歩進んだ話題を扱っています。Curlをより深く理解したい方はぜひご覧になってみてください。

*1:Curlヘラルド」と呼びます。IDEを使っていれば自動的に挿入されます。

*2:Surge Lab 開発者ガイド > 基本概念 - 構文 > 基本的な構文 > コメント