SHOEISHA iD

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

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

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

ここがポイント!Curlプログラミング
データ型とTypeクラス

第3回

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

 Curlは変数に型指定が必要な言語ですが、プリミティブ型、クラス型、プロシージャ型など豊富な種類が用意され、それらの関係が非常に良く設計されているため開発時の大きな助けとなります。今回はこれらデータ型について見ていきます。

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

はじめに

 今回はCurl言語のデータ型について説明します。Curlは変数に型指定が必要な言語です。厳密な型指定を行いながら、一方でとても柔軟なデータ型の利用が可能になっています。Curl言語で使用するデータ型と、データ型を構築する仕組みであるTypeクラスについて見ていきましょう。

これまでのTips

データ型

 Curlのデータ型は、プリミティブ型、クラス型、プロシージャ型、列挙型、null型、void型、any型の7種類があります。すべてのデータ型はオブジェクトとして扱うことができます。それでは、1つ1つのデータ型の特徴を説明します。

プリミティブ型

 プリミティブ型は、文字、数値、論理値など基本的なデータを表します。非常にシンプルな構成をとっており、Curl言語のコアに直接実装されています。そのため処理が高速です。

 プリミティブ型はデータそのものと考えられ、メソッドはありません。規定値(変数を宣言した時点での値)を持ち、null値をとることができません。プリミティブ型には以下のものがあります。

符号付き整数型(int、 int8、 int16、 int32、 int64)

 符号付きの整数、プラスとマイナスの両方の数字を扱えます。int(integer) にデータを表現するために使用するビット数を追加して型を表します。int型はint32型と同じ型になります。規定値はすべて0です。

符号無し整数型(uint、 uint8、 uint16、 uint32、 uint64)

 符号無しの整数、プラスの数字のみを扱えます。マイナスの値をとりませんので、ビット毎のフラグに使ったり、符号付整数型よりも大きな正の数を扱う場合に使います。int と同じように、unit (unsigned integer)にデータを表現するために使用するビット数を追加して型を表します。uint型はuint32型と同じ型になります。規定値はすべて0です。

浮動小数点型(float、 double)

 符号付きの実数を扱います。数値を持つ精度と値の表す範囲によって、float(32bit)、 double(64bit) の指定があります。規定値はすべて0.0です。浮動小数点型には、正の無限大を表す infinity、 負の無限大を表す -infinity、 数値でない値を表す nan (not a number) があります。

ブール値(bool)

 true か false かを表す論理値を扱います。規定値はfalseです。1bitの大きさです。

文字(char)

 文字を扱います。文字はunicodeで保持されます。1文字のコードを表しています。文字列ではありません。規定値は、文字コード 0 です。

数量(deg、 rad、 px、 m、 in、 ...)

 Curl では「数量」と呼ばれる単位を含めた数値をプリミティブ型の変数として定義できます。三角関数などを利用する場合は、角度の単位として値を指定する必要があります。数量はSI単位系に変換されて、float または double 値として内部的に保持されます。測定単位は同じですが、精度が異なります。基本的には、double型を利用する事を推奨しています。単位には、G(ギガ)、M(メガ)、K(キロ)、m(ミリ)などのプレフィックスと組み合わせて利用できます。

次のページ
クラス型

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

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

もっと読む

この記事の著者

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

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング