【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
 

基礎解説

チェック式 WSH入門
―― 演習方式で身につけるWSH超入門 ――

第5回 データ型について理解を深めよう

1.VBScriptのデータ型

Microsoft MVP
Visual Developer - Scripting
牟田口 大介
2006/09/22

Index(全19回)
WSHを始めよう
VBScriptの基本を押さえよう(その1) 文字列の入出力
VBScriptの基本を押さえよう(その2) 計算と分岐処理
関数を使いこなす(その1) 文字列、数値、日付を扱う関数
データ型について理解を深めよう
VBScriptの配列を極める
Subプロシージャでユーザー独自の処理を定義する
Functionプロシージャでユーザー独自の関数を定義する
VBScriptのオブジェクトを使いこなす
WScriptオブジェクトを利用する(1)
WScriptオブジェクトを利用する(2)
WshShellオブジェクトを利用する(1)
WshShellオブジェクトを利用する(2)
WshShellオブジェクトを利用する(3)
WshNetworkオブジェクトを利用する
FileSystemObjectオブジェクトを利用する(1)
FileSystemObjectオブジェクトを利用する(2)
FileSystemObjectオブジェクトを利用する(3)
TextStreamオブジェクトとDictionaryオブジェクトを使う[最終回]

 前回は、文字列、数値、日付を扱うVBScriptの関数を取り上げ、それらを単独、あるいは組み合わせて使用することで、さまざまな処理が可能になることを示した。今回は前回に引き続きVBScriptの関数のうち、データ型を扱うものを取り上げるとともに、VBScriptにおけるデータ型の概念と利用法について説明する。

VBScriptのデータ型

 前回述べたように、データ型(単に「型」ともいう)とは変数の種類であり、VBScriptには文字列を扱う文字列型、日付や時刻を扱う日付型などがあると便宜上これまで説明してきた。しかし、実は、VBScriptで扱われる変数はすべて、どんな値でも格納できるバリアント(Variant)型であり、文字列を扱う文字列型や日付・時刻を扱う日付型といった特定のものは厳密にいうと存在しない。が、バリアント型の変数に値を格納すると、その値の種類に応じて(例えば文字列なら文字列型として)機能するので、実質的にはVBScriptにはさまざまな型が存在するものとして考えるべきである。VBScriptのヘルプには、例えば文字列を扱う型のことを「バリアント型 (内部処理形式が文字列型 (String) の Variant)」などと表現しているが、本稿ではこれを単に「文字列型」あるいは「String」と呼ぶことにする。

 そもそもVBScriptの基になったVisual Basic言語(以下VB)では、Dimステートメント中で、


Dim x As String

のように、変数名と型名(As以下の部分)を同時に宣言する(As以下は省略可能だが、省略するとVBScriptと同じくバリアント型として扱われる)。この例ではString(文字列型)のxという名前の変数を宣言していることになる。VBなど一般的なプログラミング言語では変数名と型名を同時に宣言するが、VBScriptなどのスクリプト言語の多くでは、厳密な型宣言をさせず、データ型をあいまいに扱うことで、コードの記述量を減らせるように工夫しているのである。ただし、実際にVBScriptでコードを書くときは、特に複雑な長いコードになってくると、変数のデータ型を考慮しないとうまく実行できないなどのトラブルに付きまとわれることになる。そのためデータ型に関する知識は不可欠なものとなる。

 これまでに登場した型も含めて、VBScriptで扱う型を一覧にしたのが次の表だ。

種類 データ型名
(英語名)
説明 接頭辞(プリフィックス)
整数値を扱うデータ型 整数型
(Integer)
-32,768〜32,767の範囲の整数値を持つデータ型 int、i
長整数型
(Long)
-2,147,483,648〜2,147,483,647の範囲の整数値を持つデータ型 lng、l
バイト型
(Byte)
0〜255の範囲の整数値を持つデータ型 byt
実数値を扱うデータ型 単精度浮動小数点型
(Single)
負の値:-3.402823E38(-3.402823×10の38乗)〜-1.401298E-45(-1.401298×10の-45乗)、
正の値:1.401298E-45〜3.402823E38の範囲の単精度浮動小数点数を持つデータ型
sng
倍精度浮動小数点型
(Double)
負の値:-1.79769313486232E308〜-4.94065645841247E-324、
正の値:4.94065645841247E-324〜1.79769313486232E308の範囲の倍精度浮動小数点数を持つデータ型
dbl、d
通貨型
(Currency)
-922,337,203,685,477.5808〜922,337,203,685,477.5807の範囲の値を持つデータ型(小数点以下は4けた) cur
そのほかのデータ型 日付(時刻)型
(Date)
西暦100年1月1日〜西暦9999年12月31日の日付を表す数字を持つデータ型 dtm、dt
文字列型
(String)
約2Gbytesまでの文字を格納できる可変長文字列を持つデータ型 str、s
ブール型
(Boolean)
真(True)か偽(False)のどちらかの値を持つデータ型 bln、b
エラー型
(Error)
エラー番号を持つデータ型 err
オブジェクト型
(Object)
オブジェクトを参照するデータ型 obj、o
VBScriptのデータ型

 ご覧のように、VBScriptのデータ型は整数値を扱うもの、実数値を扱うもの、そのほかのもの、に分けられる。後でこれらのデータ型を詳しく説明する。

 なお接頭辞(プリフィックス)とは、変数名の先頭に慣用的に付ける文字である。例えば、文字列型にはstrInformation、sInformationのような名前を付けるのがよい。VBScriptでは型宣言ができないため、代わりに変数名を見ると型名が分かるように工夫するわけである。


 INDEX
  [基礎解説]チェック式 WSH入門
  第5回 データ型について理解を深めよう
  1.VBScriptのデータ型
    2.形名の調査と数値データ型
    3.ブール・データ型
    4.暗黙の型変換
    5.明示的な型変換と特殊な値
 
 基礎解説

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?