Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100589
  • 博文数量: 20
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 455
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-06 11:04
文章分类

全部博文(20)

文章存档

2011年(1)

2010年(14)

2009年(4)

2008年(1)

我的朋友

分类:

2010-07-28 15:36:03

> 第5章 制御構造
  第5章 制御構造



5-1. 真と偽

  • 制御構造としての条件式やループ文を学習する前に、 (true) と (false) について理解をしておきましょう。
  • Perlにおける、の定義については次のとおりです。

    数値の 0 、文字列の "0"、空きの文字列 ""、未定義値
    上記以外のもの


    これを、以下の具体例で判断してみましょう。

    0 数値の 0 なので
    1 数値の 1 なので
    3 - 3 数値として結果が 0 なので
    0.0 数値の 0 なので
    "0" 文字列の 0 なので
    "0.0" 文字列の 0.0 は 0 とは異なるため
    A 文字列の A は
    "" 空き文字列なので
    undef() 未定義値を返す関数なので



5-2. 条件式

  • 条件式とは、「もし~ならば…」という条件構文を定義するもので、if文unless文の2つが用意されています。
  • 条件式には、通常 を使用して条件を定義します。
  • unless文if文の逆の意味を持ちます。

    構文 if ( 条件A ) { 実行A }
    elsif (
    条件B ) { 実行B }
    else {
    実行C }
    意味 もし、「条件A」がであるならば、「実行A」を実行する。
    もし、「条件A」がで、「条件B」がならば、「実行B」を実行する。
    もし、「条件A」「条件B」がであるならば、「実行C」を実行する。


    if ($size eq "big") { print "大きい\n"; }
    elsif ($size eq "middle") { print "
    中くらい\n"; }
    else { print "
    小さい\n"; }




5-3. ループ文
  • ループ文とは、ある条件のもとで、処理を繰り返し実行するもので、主に次の4つの構文が用意されています。

    構文名 構文 意味
    while文 while ( 条件 ) { 実行 } 「条件」がである間は「実行」を実行する
    until文 until ( 条件 ) { 実行 } 「条件」がである間は「実行」を実行する
    for文 for ( 初期化 条件式 増減式 ) { 実行 } 「条件式」がであれば「実行」を実行し、次に「増減式」を実行する
    foreach文 foreach 制御変数 ( リスト値 ) { 実行 } 「リスト値」の要素を順に「制御変数」にセットして、「実行」を実行する


  • while文

    $i = 3;
    while ($i > 0) {
           print "
    カウントダウン : $i \n";
           $i--;
    }


    <出力結果>
    カウントダウン : 3
    カウントダウン : 2
    カウントダウン : 1


  • until文

    $i = 3;
    until ($i <= 0) {
           print "
    カウントダウン : $i \n";
           $i--;
    }


    <出力結果>
    カウントダウン : 3
    カウントダウン : 2
    カウントダウン : 1


  • for文

    for ($i=3; $i>0; $i--) {
           print "
    カウントダウン : $i \n";
    }


    <出力結果>
    カウントダウン : 3
    カウントダウン : 2
    カウントダウン : 1


  • foreach文

    foreach $i (3, 2, 1) {
           print "
    カウントダウン : $i \n";
    }


    <出力結果>
    カウントダウン : 3
    カウントダウン : 2
    カウントダウン : 1




5-4. ループ制御
  • ループ文で、ループの流れを変えるために、次の2つの演算子が用意されています。

    next演算子 ループをスキップする
    last演算子 ループを終了する


  • next演算子

    foreach $i (5, 4, 3, 2, 1) {
           if ($i == 3) { next; }
           print "
    カウントダウン : $i \n";
    }


    <出力結果>
    カウントダウン : 5
    カウントダウン : 4
    カウントダウン : 2
    カウントダウン : 1


  • last演算子

    foreach $i (5, 4, 3, 2, 1) {
           if ($i == 3) { last; }
           print "
    カウントダウン : $i \n";
    }


    <出力結果>
    カウントダウン : 5
    カウントダウン : 4

阅读(215) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~