Scilab 函数中静态局部变量的等价物

Equivalent of static local variables inside Scilab function

我一直在寻找一种方法如何在内部定义持久性局部变量 Scilab 函数。可以说我一直在寻找方法 在 Scilab 函数中定义等效于 C 编程语言中已知的静态局部变量。有人可以帮忙吗?

至少有两种方法可以获得类似的功能:

  1. 使用全局变量(获取一些静态变量):
    https://help.scilab.org/docs/6.1.1/en_US/global.html 这可能是最“标准”的方式。 您可以在本地范围内定义它们(例如在 功能),但没有办法限制对 他们到他们被定义的地方。

  2. 在 TCL“解释器”中使用变量:

    https://help.scilab.org/docs/6.1.1/en_US/TCL_CreateSlave.html https://help.scilab.org/docs/6.1.1/en_US/TCL_SetVar.html https://help.scilab.org/docs/6.1.1/en_US/TCL_GetVar.html

TCL 解释器是一种“命名空间”。它也是一个全局对象。 您可以根据需要定义任意数量的解释器。 但并非所有类型的数据都可以记录为 TCL 变量。 并且所有数据都(记录和)检索为字符串(并且仅对十进制数字采用单精度。可能可以通过使用一些 TCL 选项来超越)。

相反,全局变量没有数据类型限制,直接记录,不转换成字符串。 但是没有办法定义“全局名称空间”(可能是全局结构的字段..)