next up previous
Next: 知っていると便利な事 Up: プログラミング Previous: 練習

サブルーチン

知らなくても困らないから この項は省略してよい.

サブルーチンというのは,プログラムの中の一連の手続きをひとまとめにした もののことだ.関数と似ているが,値を返さない所が違う.サブルーチンは, プログラムの他の場所から必要に応じて呼び出して利用できる.

例を挙げる.

     10 a=1:b=2:c=0
     20 gosub *MAX(a,b,&c)         :'サブルーチンを呼び出す
     30 print c
     40 end
    100 *MAX(x,y,&z)               :'サブルーチン
    110   if x>=y then z=x else z=y
    120 return
サブルーチンMAXに入るとき,変数名がそのまま書かれているa,bはその値がそのまま別の変数x,yに渡される.ところでx,yは サブルーチンの中だけで有効な local 変数だから,その値を変えてもその外側に は何の影響もあたえない(関数のときと同様だ).

一方,&を付けて引数に並べた変数cの方はサブルーチン MAXの中ではzと同一視される.従ってサブルーチンの中でzの値を変えるとcの値も変わる.&付きで渡された変数の,サブ ルーチン内での値の変化は,サブルーチンの外側にまで影響を及ぼすのだ. この例のプログラムでは,この性質をうまく利用している.

なおサブルーチンの中でも local によって local 変数を宣言し使用す ることができる.



A document of Makoto Idzumi compiled by Y.Tsuchimoto