包括全局变量声明瞬间

3次观点(过去30天)
詹姆斯底线
詹姆斯底线 2019年11月21日
回答: 詹姆斯底线2019年11月22日
我正在开发一个应用程序,它的结构是一组许多小的、简单的、目的单一的功能
我希望所有函数都能访问同一组全局变量。保存“全球”语句的集合(或者其他变量初始化)在一个脚本文件,我可以在每个函数包含脚本文件所以不管我需要多少全局变量,所有功能,由于包括脚本文件,将可以访问全局变量的总组和流控制指标?
很久以前我是一个设计师和开发人员的一些计算机语言包括一些IBM的Fortran编译器、PL / 1, ec(古代历史我知道)和能力来生成代码的编译过程本身非常有助于让我们来定制特定的编程语言appllcation开发案例。我想这当然是一个非常简单的相同概念的例子。
谢谢
5个评论
斯蒂芬。
斯蒂芬。 2019年11月21日
“我喜欢嵌套函数的想法,但在调试期间,我想在工作空间中独立调试每个函数”
没有这样的东西 “工作区” ,即基本工作空间和功能工作空间:
“我喜欢嵌套函数的想法,但在调试期间,我想在工作空间中独立调试每个函数”
这就是调试工具的作用。使用调试工具最终是比使用更健壮的解决方案 反模式 全局变量。

登录评论。

答案(2)

1月
1月 2019年11月21日
在任何情况下,全局变量都是一剂强心针。将它们隐藏在动态调用的脚本中,会进一步阻碍调试。与其他依赖全局变量的软件包的冲突是可以预料到的。
如果你有一个很好的理由使用全局变量(我在过去30年里没有看到过),请使用 一个 具有唯一名称的结构体。将变量集存储为该结构体的字段。
但是,向所有函数提供这个结构体的副本也只是一个很小的步骤。如果允许函数修改内容,则在输出中回复结构体。
1评论
里克
里克 2019年11月21日
我不相信这是最好的解决方案,但我确实在函数中使用了一个全局变量,作为Matlab的老版本(不包括 addprop 功能)。 关联 .也许它应该被储存在 setpref. 并加载到一个持久化变量,但另一方面,这个函数不是我最好的工作。

登录评论。


詹姆斯底线
詹姆斯底线 2019年11月22日
在“真实”世界中,应用程序不会在Matlab中运行。我只是使用Matlab在静态环境中得到整体逻辑,即使用捕获的csv文件,而不是传感器阵列的实时数据流。我可能有几个异步进程并行地查看相同的数据流,并在每次迭代时询问一个“参数数组”,并发布警报,这可能会影响其他一些进程对传入数据的反应。
但总而言之,我认为使用一种每个过程在每次迭代中都查看的结构会像全局变量一样奏效
感谢大家-很明显我不是一个Matlab专家

下载188bet金宝搏


释放

R2019B.

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!