当前位置:网站首页>do end用法的妙处
do end用法的妙处
2022-07-29 07:01:00 【森明帮大于黑虎帮】
为什么要使用do end,它到底能够解决什么问题呢;首先,语句块不是用花括号 { } , 而是 do 语句块 end 表示语句块的开始和结束。而 花括号 {} 表示的为一个 表结构 。
do-end blocks它解决的是变量作用域的问题,首先必须要明白local变量和全局变量拥有完全不同的词法作用域;我们应该尽量声明local变量,尽量减少一个变量的作用域范围,使其仅存在于自己需要的变量块内,而不要污染更大范围内的公共环境;
首先参考一下两个例子:
do
local x1=1
local x2=2
local sum=x1+x2
end
print(x1,x2) --nil nil
没有do end:
local x1=1
local x2=2
local sum=x1+x2
print(x1,x2) --1 2
在 Lua 中,使用 do-end 将一条或多条语句包起来作为一个语句块儿(block),形成一个作用域,在这个作用域中定义的局部变量只在当前作用域有效,出了作用域之后就会被垃圾回收器自动回收!
do
local l_var = 1 -- 局部变量
g_var = 2 -- 全局变量
print(l_var, g_var) -- 1 2
end
print(l_var, g_var) -- nil 2
在作用域中定义的全局变量不受作用域的影响!
边栏推荐
- Kubernetes (五) ---------部署 Kubernetes Dashboard
- Full process flow of CMOS chip manufacturing
- 力扣(LeetCode)209. 长度最小的子数组(2022.07.28)
- QT basic day 2 (2) QT basic components: button class, layout class, output class, input class, container and other individual examples
- 2-统一返回类DTO对象
- Scala 高阶(十):Scala中的异常处理
- gcc/g++的使用
- WPF simple login page completion case
- log4j Layout简介说明
- Nodejs安装教程
猜你喜欢

对Vintage分析的一些学习理解

Vite3.0 has been released, can you still roll it (list of new features)

亚马逊云助手小程序来啦!

MySQL 使用客户端以及SELECT 方式查看 BLOB 类型字段内容总结
Scala higher order (IX): pattern matching in Scala

Personal blog system (with source code)

彻底搞懂kubernetes调度框架与插件
Scala higher order (10): exception handling in Scala

Paper reading (62):pointer networks

thinkphp6 实现数据库备份
随机推荐
Nodejs安装教程
Problems encountered in vmware16 installing virtual machines
1 - background project construction
Gin template
How much data can a single MySQL table store at most?
Summary of OCR optical character recognition methods
thinkphp6 实现数据库备份
MySQL advanced (Advanced) SQL statement (I)
一篇长文---深入理解synchronized
Vue router route cache
Thinkphp6 realizes database backup
Scala higher order (IX): pattern matching in Scala
tp6 使用 ProtoBuf
Leetcode buckle classic problem -- 4. Find the median of two positively ordered arrays
Unity发送Post请求给GoLang服务端解析并返回
作业7.28 文件IO与标准IO
Fillder use
H3C_利用设置缺省静态路由优先级实现出口双线路的主备功能
女研究生做“思维导图”与男友吵架!网友:吵架届的“内卷之王”....
路由中的生命周期钩子 - activated与deactivated