[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.6 breakステートメント

breakステートメントは,それを囲む最も内側のforまたはwhile ループの外側にジャンプします。breakステートメントは,ループの本体 内でのみ使用することができます。以下の例は,与えられた整数を除すことのできる 最小の値を発見し,それが素数かどうかを識別します。

 
num = 103;
div = 2;
while (div*div <= num)
  if (rem (num, div) == 0)
    break;
  endif
  div++;
endwhile
if (rem (num, div) == 0)
  printf ("Smallest divisor of %d is %d\n", num, div)
else
  printf ("%d is prime\n", num);
endif

最初のwhileステートメントにおいて剰余がゼロのとき,Octaveは直ちに ループを脱出します。これは,Octaveが直ちにそのループに続くステート メントに進み,処理を続けることを意味します(これは,exitステート メントとは大きく異なります。exitは,Octaveプログラム全体を停止し ます)。

以前のものと等価な,別のプログラムを示します。これは,whileステー トメントのconditionが,if内部のbreakに,どのように置 き換わるのがよいかを示しています。

 
num = 103;
div = 2;
while (1)
  if (rem (num, div) == 0)
    printf ("Smallest divisor of %d is %d\n", num, div);
    break;
  endif
  div++;
  if (div*div > num)
    printf ("%d is prime\n", num);
    break;
  endif
endwhile

[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated on July, 20 2006 using texi2html 1.76.