变量

变量保存的值在执行扩展期间可能会更改。由于动态类型,任何变量都可以保存任何类型的值。变量没有类型声明。相反,变量的类型在运行时确定。事实上,变量值的类型在执行过程中可能会改变,尽管这不是一个推荐的做法。变量最初的值为nil。

变量名是标识符,字母、数字和下划线(不是以数字开头)的字符串也是标识符。例子:头,combined_headers。

全局变量

在Lua中,没有声明的变量在程序中是全局的。但是,全局变量在策略扩展函数中是不允许的,因为一个函数可以在多个包引擎中执行,并且每个包引擎有自己的内存。

如果您在扩展中使用全局变量,您将得到一个运行时错误:尝试更新或创建一个报告的全局变量/var/log/ns.log

变量名拼写错误是一个潜在的问题,因为有拼写错误的变量将被解释为另一个全局变量,而不会像在C或Java等语言中那样导致语法错误。如上所述,您将得到一个运行时错误。

局部变量

变量可以声明为语句块(如函数)的局部变量。这是通过局部变量名完成的。变量的作用域将限定在块上,也就是说,它只存在于块内。局部声明可以有选择地为变量赋值。

例子:

本地headers ={}本地combined_headers = {}

变量

在这篇文章中