SHOEISHA iD

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

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

知っておきたいCurl文法の要点(AD)

ここがポイント!Curlプログラミング
トップレベルとコードブロック

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

アプレット

 アプレットのトップレベルには、テキストを記述できます。記述されたテキストは、以下のような簡単なルールにそってブラウザに表示されます。

  1. トップレベルに書かれたテキストはブラウザに表示される。
  2. 複数の空白は1つとみなされる。
  3. テキストを含まない行に続くテキストは新しい段落に表示される。

 HTMLファイルを読み込んだブラウザのような動作です。トップレベルのテキストなどの各種表現を行うために、テキスト書式(テキストプロシージャ)と呼ばれるCurlの式が用意されています。文字書式(text)、パラグラフ書式(paragraph)、リスト(itemize/enumerate)、テーブル(table)、リンク(link)、イメージ(image)などがあります。

 もう1つ、アプレットのトップレベルには、Curlの式が記述できます。トップレベルに書かれた式を「トップレベルの式」と呼びます。式には、CurlのコマンドかCurlの一連の処理が書かれたコードブロックが記述されます。

 変数を定義するサンプルコードを示します。

{curl 7.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}


{let a:int = 100}  || (1) トップレベルで定義された変数

{do
    let a:int = 200  || (2) コードブロック内で定義された変数
    let b:int = 100  || 同上
}

a = {value a}

b = || {value b} || エラー

 (1)は、トップレベルの式でCurlのコマンドが実行されています。この変数はトップレベルで実行されたとみなして、変数はトップレベル以下ならどこでも利用できる変数(グローバル変数)になります。

 (2)は、コードブロックの中でCurlのコマンドが実行されています。コードブロックには、スコープの範囲となります。そして、コードブロックの中はトップレベルの下のレベルになります。コードブロック内で定義された変数は、定義されたコードブロックより下のレベルで有効な変数(ローカル変数)となります。

 ここで、コードブロック内で、let/set/defを使う場合は、{ } で囲まないのが作法になりますので注意してください。囲ってもエラーにはなりませんが、囲まないことが推奨されています。トップレベルの式では、Curl式であることを示すために、{ } で囲まなければなりません。

 まとめると、アプレットでは、テキストを描画する領域であるデフォルトビューがブラウザの中に用意されます。そこに、トップレベルで書かれたテキストが表示され、トップレベルの式の戻り値が表示されることになります。

独立型アプレット

 次に、独立型アプレットです。独立型アプレットでは、自分で描画の土台となるビューを用意する必要があります。明示的にビューを生成して、そこに表示させます。IDEで自動的に生成されるコードは以下のようになります。

{curl 7.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}

{View
    || この{Frame}を置き換えて使用してください
    {Frame width = 8cm, height = 8cm},
    visibility = "normal",
    {on WindowClose do
        {exit}
    }
}

 このコードのトップレベルにテキストをどうなるか書いてみましょう。

{curl 7.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}

独立型アプレットでテキストを書きました。

{View
    || この{Frame}を置き換えて使用してください
    {Frame width = 8cm, height = 8cm},
    visibility = "normal",
    {on WindowClose do
        {exit}
    }
}

 実行しても、エラーにはなりませんがテキストは何も表示されません。アプレットと同じようにトップレベルのデフォルトビューに書いたとしても、そのビューは表示されませんので、結果として何も表示されないのでしょう。

 ビューを生成して表示するためには、プログラマがViewを生成するCurlのコードを書く必要があります。コード内はコードブロックになりますのでトップレベルではありません。独立型アプレットでは、トップレベルのテキストは機能しないことになります。

次のページ
コードブロック

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

  • このエントリーをはてなブックマークに追加
知っておきたいCurl文法の要点連載記事一覧

もっと読む

この記事の著者

久保田 一郎(クボタ イチロウ)

財団法人日本自動車研究所電算システムGr所属。Macintosh HyperCardとOracleを使った業務システムの開発から始まって、4D、Java、AIRを経由してCurl に到達。

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング