.. _for-command-label: ============= FOR コマンド ============= `M言語プログラミングブック`_ (Page 108) [WALTERS1997]_ と `GT.Mプログラマーズガイド`_ から引用 コマンド ------------- :: F[OR] [variable=start[:increment[:limit]]][,...] 解説 ----------- ``FOR`` は、増分 ``increment`` で ``variable`` を ``limit`` までインクリメントし、ラインの残りのコマンドを繰り返します。 * もし ``increment`` が正なら、 ``variable`` は、 ``limit`` より大きくなるでしょう。 * もし ``increment`` が負なら、 ``variable`` は、 ``limit`` より小さくなるでしょう。 これは、 ``FOR I=10:-1:1 WRITE I,!`` が期待どおり降順に10から1までの数字が出力されることを意味します。ループが終了した後に、``variable`` は、 ``limit`` 超えません。 ``limit`` を省略すると、ループ内のコマンドはそれが最後に発生しない限り(例えば、``QUIT`` )、ループが延々と続くことになります。 ブロックの構造化 ----------------------------- ``FOR`` は、 ``DO`` または ``XECUTE`` を使用して行の残りの部分よりも上でループができます。追加の行は、ピリオドとスペースでインデントされます。 例 -------- :: FOR I=1:1:10 WRITE I,! :: FOR I=1:1 DO QUIT:I>7 . WRITE " I= ",I . WRITE " I Square= ",I*I,! *DOとQUITの間には、2つのスペースがあることに注意してください。* 関連事項 ######### * :ref:`do-command-label` * :ref:`quit-command-label` 参照 ########## `GT.Mプログラマーガイドの FOR ページ`_ .. _M言語プログラミングブック: http://books.google.com/books?id=jo8_Mtmp30kC&printsec=frontcover&dq=M+Programming&hl=en&sa=X&ei=2mktT--GHajw0gHnkKWUCw&ved=0CDIQ6AEwAA#v=onepage&q=M%20Programming&f=false .. _GT.Mプログラマーズガイド: http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/index.html .. _GT.Mプログラマーガイドの FOR ページ: http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/ch06s05.html