13/03/20 20:37:40.22 rIX/D4xq
>>254
class A { class X { } }
Namespace.A = global.A;
delete global.A;
class B extends Namespace.A {}
Namespace.B = global.B;
delete global.B;
とか? グローバル空間を一瞬でも汚すのは諦めるしかないかなぁ。
あと、クラス内クラス使う場合はinstanceofやScripts.getClassNames()の運用も注意のこと。
上の例の場合、当たり前だけど
x instanceof "A.X" = (int)0
x instanceof "X" = (int)1
Scripts.getClassNames(x).join(",") = (string)"X"
Scripts.getClassNames(b).join(",") = (string)"B,A"
みたいに空間名が完全に失われる
いっそ、class Namespace_A { var A = global.Namespace_A; } みたいに
名前付けの運用でカバーするという手も検討してみては?