gpt4 book ai didi

wolfram-mathematica - 为什么不从自定义调色板运行 ClearAll ["Global` *"] 更新局部变量颜色?

转载 作者:行者123 更新时间:2023-12-04 08:06:46 24 4
gpt4 key购买 nike

我创建了一个自定义调色板,带有 ActionMenu执行 ClearAll["Global`*"] .它执行所需的操作,但前端不会立即将颜色从黑色更新为蓝色(标准),就像 ClearAll["Global`*"] 时发生的那样。直接从笔记本单元执行(它仅在执行其他操作后更新)。有没有办法启动前端显示状态的刷新?

编辑:显然,当我从调色板加载包时也会发生同样的情况(蓝色不会立即更新为黑色)。

最佳答案

不完全优雅,但它有效(必须在 ClearAll 之后调用一次主循环):

ActionMenu["Clear", 
{"Clear global variables" :> (ClearAll["Global`*"];
Block[{nb}, nb = CreateDocument[ExpressionCell[42, "Input"],
Visible -> False]; SelectionMove[nb, All, Notebook];
SelectionEvaluate[nb]; NotebookDelete[nb];])}]

当然,应该使用新的 Mathematica 8 NotebookEvaluate 函数,但似乎不是
在这里工作(即
ActionMenu["Clear", 
{"Clear global variables" :> (ClearAll["Global`*"];
Block[{nb}, nb = CreateDocument[ExpressionCell[42, "Input"],
Visible -> False]; NotebookEvaluate[nb];
NotebookDelete[nb];])}]

给出错误信息
Could not process unknown packet "1".

关于wolfram-mathematica - 为什么不从自定义调色板运行 ClearAll ["Global` *"] 更新局部变量颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7022538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com