addDescription("h1","変数のスコープを検証します")
addDescription("","ちょっと変数のスコープがおかしい")

!b = 21
!d = 32
!e = 3
!f = \(b)
 !b = 10;
 //このcは初出なのでローカルスコープ
 !c = 10;
 // このeはグローバルにある
 !e = e + 1;
!g = \(d)
 evalAllExtArgs()

!a = 3;
scale(0.05)
 fs("black")
  shift(0,-17)
   scale(1.5)
    text("スコープテスト")
  !pos = -14;
  // グローバルにある変数への更新、参照
  shift(0, pos)
   !a = a + 1
   text("グローバル: a=" + a)

  // 引数で生成される変数
  f()
  !pos = pos + 2;
  shift(0, pos)
   //関数を抜けたらグローバルのものが見える
   text("グローバル: b=" + b)
  !pos = pos + 2;
  shift(0, pos)
   text("グローバル: c=" + c + ",e=" + e)
  
  // 関数にブロックを飛ばした時
  g(100)
   !pos = pos + 2;
   shift(0, pos)
    // ブロックの中で妙な変数は見えない
    text("グローバル: d=" + d)
  !pos = pos + 2;
  shift(0, pos)
   // ここからだと当然グローバル
   text("グローバル: d=" + d)

tw:ina_ani
mce2
1382485653