.. _do-command-label: ================= DO コマンド ================= `M言語プログラミングブック`_ (Page 103) [WALTERS1997]_ と `GT.Mプログラマーズガイド`_ から引用 解説 ########### **DO** *[[LABEL|LABEL^ROUTINENAME], ...]* サブルーチンを呼び出す Doコマンドは、引数の有無にかかわらず、サブルーチンを呼び出します。 引数なしのDoは、自身よりも大きいインデントでコードがブロックの先頭にある限りは、次の行にあるコードを実行します。Doは、不十分なインデントの行に到達するまで、コードを実行し続けます。途中で、QUITまたはBREAKを実行するとコマンドを終了します。 引数付きのDoは、指定されたラベルまたはルーチンにジャンプし、QUITが見つかるまで実行します。遭遇した場合、プログラムはDoの後のコマンドを実行します。 パラメータ ########### **LABEL** (文字列) ラベルへジャンプ **LABEL^ROUTINENAME** (文字列) ラベルとルーチン名にジャンプ 例 ######## :: DO TEST *ラベル test へジャンプ* :: SET A=4 DO FACTORIAL(A) *FACTORIALという関数を呼び出し、変数 A の現在の値を渡します、この場合、Aは 4* :: DO REPORT^FACTORIAL *ルーチンFACTORIALの中のREPORTラベルの実行を開始* :: IF age>20 DO . WRITE "You are able to drink!",! ELSE DO . WRITE "I'm sorry, you are underage",! *age変数が20より大きい場合、"You are able to drink!" が出力されます。それ以外は、"I'm sorry, you are underage!" が出力されます。* 関連事項 ######### * :ref:`quit-command-label` 参照 ########## `GT.Mプログラマーガイドの DO ページ`_ .. _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プログラマーガイドの DO ページ: http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/ch06s03.html