子程序可以使用状态变量

动作需求 · 1391 次浏览
臭冬瓜 创建于 2023-01-24 13:12

查了一下,其实之前已有两位网友曾经提出过这个建议,两个建议现在都已被关闭存档,我只好开新帖。

在开始使用quicker开发组合动作后,我觉得还是非常有必要让子程序可以使用状态变量。我的动作中设置的变量超多,如果靠传参给子程序太麻烦,会要人命。本来想优化一下程序,把模块封装成子程序,但是由于子程序不能使用状态变量,优化工作只能作罢。

另外,子程序中可以使用全局变量,这在任何编程软件中也都是可以的。至于CL您提出的怕与主程序或者其他子程序冲突,这个的确应该是程序员自己处理的问题。


~ZYS~ 2023-02-09 15:29 :

好像可以这么玩,保持子程序的变量名字与主程序一致,然后变量输入输出子程序,内外的变量就会同步改变。

回复内容
CL 2023-01-24 13:26
#1

子程序可以从表达式中访问主程序中的变量  $= _context.GetRootContext().GetVarValue("变量名");

但是子程序变量是不能作为状态使用的,这算是一个设计决定吧,可以避免一些冲突和简化设计实现。

ZTOA10 回复 CL 2023-02-09 14:03 :

用这个代码,是不是子程序就不用设置传入用的参数了吗?

Marcusx 2023-01-24 15:38
#2

也可以使用状态存取模块传参

康必得 2023-01-24 15:49
#3

子程序中不能读写全局变量的吗?我一直以为可以的,虽然一直没用过

回复主贴