透過 AddGraphicsScript 和 Eval/Expr 動態更新 GB - 拋出“名稱未解析”namesdefaulttohere(1);
try(nw3<<CLOSE window="">];
foreach({alpha}, words("a b c"),
map[alpha] = graphbox(suppress axes, frame size(100,100));
vlb<<APPEND></APPEND></CLOSE>Error:
<CODE class=" language-jsl">Name Unresolved: key in access or evaluation of 'key' , key/*###*/
<BR /><BR /><LINGO-LABS id="lingo-labs-845133" slang="en-US" mode="CREATE"><LINGO-LABEL>自動化和腳本</LINGO-LABEL></LINGO-LABS>回覆:透過 AddGraphicsScript 和 Eval/Expr 對 GB 進行動態更新 - 拋出“名稱未解析”
明白了。我們可以在初始化 GB 時保存“key”的值,而不是在評估時獲取它。在這裡,我們將其稱為“beta”,但 key/beta 只是對其中一個單字(“abc”)的引用
toggle = expr(
x = random integer(10,90);
y = random integer(10,90);
foreach({key}, map,
gb = map[key];
f = gb[framebox(1)];
f << add graphics script(
eval(eval expr( text({x,y}, expr(beta)) )) // change #1
)
)
);
vlb = vlistbox();
map = [=>];
foreach({alpha}, words("a b c"),
map[alpha] = eval(eval expr(graphbox(suppress axes, frame size(100,100),
beta = expr(alpha); // change #2 (plus wrapping GB in eval/eval expr
)));
vlb<<APPEND></APPEND><BR /><BR />