◆ unless構文

unless構文は、if構文の反対の意味を持つ制御構文です。if構文では条件式を評価してプログラムを分岐させますが、unless構文では、条件式が「偽」の場合、つまり、条件に合致していない場合に該当するブロックが処理されます。

if構文の書式
if構文とは逆の意味を持つ unless構文は、以下の書式の通りです。
 unless(条件式) {
    条件が「偽」の場合に処理したい内容
    }
unless構文も、if構文同様に unless-else文を記述することができます。以下はその書式です。
 unless(条件式A) {
    条件式Aが「偽」の場合に処理したい内容
    } else(条件式B) { 
      条件式Aが「真」の場合に処理したい内容
    } else {
         いずれの条件も満たさない場合に処理したい内容
     }
この書式の場合、最初の条件式が「偽」であれば、最初のブロックを実行します。2つめの条件式が「真」であれば、2つ目のブロックを実行します。また、3つ目の条件式、4つめの条件氏と、それぞれの条件式が「真」であれば、それぞれ延びロックを実行します。
つまり、2節目以降の「else」が「真」であることに注意してください。
unless構文は、考え方が逆になるため少しややこしくなります。現実のプログラムでは、利用されることは少ない構文ではないかと推測されます。
確かに、あまり unless構文を多用すると、プログラム全体が直感的に把握できない面もあり、お勧めできる制御構文ではありません。
なお、if構文でも、unless構文を代用することができます。

if(!(条件式))

これは、if構文に否定演算子を使うことで、unless と同じ効果を持つことができます。
 if(!(条件式) {
    条件が「偽」の場合に処理したい内容
  }


This Page is HTML4.01 Valid! 最新更新日 2003/11/2
Copyright(C) 2002-2003 banban@scollabo.com