| 基礎解説 チェック式 WSH入門 第5回 3.ブール・データ型Microsoft MVPVisual Developer - Scripting 牟田口 大介 2006/09/22 |
![]() |
|
|
|
そのほかのデータ型として、日付(時刻)型(Date)、文字列型(String)、ブール型(Boolean)、エラー型(Error)、オブジェクト型(Object)がある。このうち、エラー型については、VBScriptで用いることはほとんどないと思われるので割愛する。また、オブジェクト型については、後の回で詳しく説明するのでここでは省略する。日付型と文字列型については、連載第4回「4.日付処理関数を使いこなす」でそれらを扱う関数とともに使用例を紹介した。残る型としてはブール型があるが、これは今回初登場なのでこれから解説する。
ブール型とは、True(真)かFalse(偽)かのどちらかを格納する最も単純なデータ型である。二者択一の情報を格納するときに用いられる。例えば、後述するIs〜といった関数の戻り値はブール型である。
実は、ブール型の値は比較演算子を使うときにも扱っている。第3回「3.WSHで条件分岐処理をする」で登場したコードを一部修正して再掲する。
Option Explicit |
このようなコードは、ブール値を扱っていることを明確にすると、次のように書き換えられる。なお、コードの後半に変数の内容と型を表示するコードを追加している。
Option Explicit |
If〜Then〜ElseステートメントではIfの後に条件を書くが、それがブール型のTrueならThenの後が実行されるということである。Falseの場合はElse以下が実行される。intXとintYの値を入れ替えて試してもらいたい。なお、If blnCondition = True Thenと記述しても同じことである。Trueであることを強調したい場合はこちらの記述をするのがよい。
ブール型は「条件Aまたは条件B」や「条件Aかつ条件B」や「条件Aでない」などを表すのに便利である。これらを「論理演算」といい、論理演算を行う演算子を論理演算子という。例えば、「18以上、30以下」という数値の範囲を表すには、「条件Aかつ条件B」(条件Aと条件Bの論理積)を意味するAnd演算子を用いる。次の例ではIf〜Then〜Elseステートメント中でAnd演算子を用いている。
Option Explicit |
これは、intX >= 18(18以上)というブール型の条件Aと、intX <= 30(30以下)というブール型の条件Bの論理積を求めている。結果はやはりブール型で返され、範囲内だとTrueを返す。
ほかによく用いる演算子としては、「条件Aまたは条件B」を表す論理和(Or演算子)、「条件Aでない」を表す論理否定(Not演算子)がある。これらの論理演算子は数値演算子と同様、( )を用いたりして組み合わせて利用することが可能である。
論理演算は下図のような「ベン図」を用いると分かりやすい。論理積は2つの条件の円が交わる部分を表している。
![]() |
| 18以上30以下の範囲を示すベン図 |
| 斜線部分が2つの条件の論理積を示す。 |
ここで1つ論理演算にまつわる例題を出そう。「うるう年」は1年が366日ある年のことだが、ある年がうるう年であるためには3つの条件がある。
(1)うるう年は西暦が4で割り切れる年とする。
(2)(1)のうち、100で割り切れる年は平年とする。
(3)(2)のうち、400で割り切れる年はうるう年とする。
これを一文で書くと、うるう年とは、「『西暦が4で割り切れ、かつ100で割り切れない年』または『西暦が400で割り切れる年』」となる。この条件を論理演算子の組み合わせで表現し、任意の年がうるう年かどうかを判定するスクリプトを書いてみよう。割り切れるかどうかはMod演算子(割り算の余りを求める)を用いて0になるかどうかで判定する。
Option Explicit |
演算子を複雑に組み合わせるので少し難しかったかもしれないが、お分かりいただけただろうか? まず、「西暦が4で割り切れ」なのでintYear Mod 4 = 0というブール値を書く。「かつ100で割り切れない」ので、先ほどの値とintYear Mod 100 <> 0をAnd演算子で論理積を取る。「または400で割り切れる年」なので、先ほどまでで計算したブール値と、intYear Mod 400 = 0の論理和をOr演算子で取る。ベン図で描くと分かりやすいだろう。
![]() |
| うるう年の条件を示すベン図 |
| 赤い斜線で示した部分がうるう年を示す。 |
| INDEX | ||
| [基礎解説]チェック式 WSH入門 | ||
| 第5回 データ型について理解を深めよう | ||
| 1.VBScriptのデータ型 | ||
| 2.形名の調査と数値データ型 | ||
| 3.ブール・データ型 | ||
| 4.暗黙の型変換 | ||
| 5.明示的な型変換と特殊な値 | ||
| 基礎解説 |
TechTargetジャパン
- WebサーバのSSL証明書が「正しい」か確認する (2012/2/10)
SSLに必要なサーバ証明書の取得/インストールのミスはWebサイトの信頼を失墜させかねない。証明書ベンダ提供のツールで手軽かつ確実にチェックしよう - クライアントでも利用可能になるHyper-V 3.0とは? (2012/2/9)
Windows 8では、従来のWindows Virtual PCに代わって新しくHyper-V 3.0がクライアント向けにも導入される。その概要を解説 - 第303話 ペアプロ2 (2012/2/7)
あっ、またまたいつぞやの幽霊が! …っと思ったら、何だ倉井さんかぁ…。はぁー、驚いた… - Excelで郵便番号変換ウィザードを活用する (2012/2/3)
Excelで管理している顧客名簿などで、不足している郵便番号や住所を入力するのは意外と面倒。郵便番号変換ウィザードを使えば、これらの入力が簡単になる
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



