内部絵定義 ☆
内部絵定義(PICTURE〜END PICTURE構文)は,内部手続きの一つで,機能的には副プログラムとほとんど同じもの。
内部絵定義は,プログラム単位の内部に書かれる絵定義で,PICTURE行で始まり,END PICTURE行で終わる。
例3 内部絵定義
100 OPTION ANGLE DEGREES 110 SET WINDOW -4,4,-4,4 120 DRAW polygon(6) 130 DRAW polygon(7) WITH ROTATE(-90/7)*SCALE(1.5)*SHIFT(2,2) 140 PICTURE polygon(n) 150 FOR i=0 TO n 160 PLOT LINES:COS(i*360/n),SIN(i*360/n); 170 NEXT i 180 END PICTURE 190 END解説
100行から190行まで,すなわちプログラム全体が主プログラム。
140行から180行までの部分が内部絵定義。
内部絵定義の特徴
内部絵定義の内部で利用している引数以外の変数は,プログラム単位中の同名の変数と共有される。たとえば,次のプログラムでは,120行から140行で用いられる変数iと絵定義polygonでのiとは区別されない。そのため,130行でpolygonを呼び出したときにiの値が書き換えられてしまい,for〜nextループが正しく動作しない。
例4100 OPTION ANGLE DEGREES 110 SET WINDOW -4,4,-4,4 120 FOR i=-4 to 4 130 DRAW polygon(7) WITH SHIFT(i,i) 140 NEXT i 150 PICTURE polygon(n) 170 FOR i=0 TO n 180 PLOT LINES:COS(i*360/n),SIN(i*360/n); 190 NEXT i 200 END PICTURE 210 END