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