■■■■■■■■■■■■■■■■■■■■
CGI講座・リプレイ
-第10講- 条件による分岐(2)
■■■■■■■■■■■■■■■■■■■■
■1、比較演算子(文字列)■
数値を比較してその大小を判断する比較演算子については
前回見てきた通りである。
今回は文字列について判断する比較演算子を見ていく。
文字列についての比較演算子は以下の通りである
〜と等しい eq
〜と等しくない ne
〜より大きい gt
〜より小さい lt
〜以上 ge
〜以下 le
等しい、等しくないというのはなんとなくイメージできるかもしれないが
大小を比較する、と言われると違和感を感じることだろう。
文字の大小とは、辞書での大小関係、
辞書の項目の前のほうにあるのか、後ろのほうにあるのかをさす。
日本語ならば50音順、英数字ならばアルファベット順で判断される。
■2、条件分岐(3択以上)■
前回は2択を見てきたが、分岐が3つ以上あったときにはどうするのか?
elseの後に続けてifをつければよさそうだが、
Perlの場合はelse ifを縮めて「elsif」という形にして使う。
そんなわけで3択以上の場合は次のようになる。
if(条件式1)
{ 条件1を満たす場合の処理 }
elsif(条件式2)
{ 条件2を満たす場合の処理 }
else
{ いずれの条件も満たさない場合の処理 }
4択、5択となるとelsifの部分が増えていくことになる。
■3、文字を条件とした条件分岐(実用編)■
以上を踏まえて今回のお手本を見てみよう。
今回は「目玉焼きにかけるものは何か?」という質問に対して
選択肢が「ソース」「しょうゆ」と「その他」の3つがある。
そして選んだ選択肢によって表示されるメッセージは
ソースを選んだ場合は「洋風ですね」
しょうゆを選んだ場合は「和風ですね」
その他を選んだ場合は「何にしよう?」
となっている。
ちなみに師範はしょうゆ派なので、お手本の方では
変数$sentakuに「しょうゆ」が代入されている。
そして条件分岐のifのところでは、最初の条件には当てはまらないが、
その次の条件
$sentaku eq "しょうゆ"
を満たしているので、
表示結果は「和風ですね」となる。
第11講につづく
---------------------------------------------------------------------
発行人: 塚田 伊助
発行所: 伊助の鍛錬場 http://isukenet.s20.xrea.com/
連絡先: isuke_tukada@hotmail.com
もどる