eval 外の global を直接書き換えられないようにする
eval 内からの global への書き込みは、シャドウイングすることにしました。
ku> global.foo = "abc"; > global.foo puts; > abc ku> eval: "global.foo puts; global.foo = 123; global.foo puts;"; > abc 123 ku> global.foo puts; > abc
eval 内からの global への書き込みは、シャドウイングすることにしました。
ku> global.foo = "abc"; > global.foo puts; > abc ku> eval: "global.foo puts; global.foo = 123; global.foo puts;"; > abc 123 ku> global.foo puts; > abc