一个块是一系列可独立执行的语句。而一个区块仅仅是一系列语句。它们之间的不同在于,一个块可以独立于其他块执行。
所有的块都是由一系列语句组成的,但并非所有的块都是区块。
一个块基本上就是 Lua 的一个函数;你可以使用一些参数调用它,并且它将返回 0 或更多个值。这就是我所说的“可独立执行”的意思:块内的语句将按顺序执行。但是一旦你退出了一个块,接下来要执行哪个块就由你决定了。
已在此处提出并解决:http://lua-users.org/lists/lua-l/2012-06/threads.html#00723
来自5.2手册:
Lua执行的单位称为块。从语法上讲,块就是一个简单的块:
chunk ::= block
来自Roberto亲口所说:
一个块是一个块,并不意味着任何块都是一个块。块不嵌套(不像块)。块是您提供给“load”函数的最外层块。
块是块的子部分,有时它们可能相同,例如代码示例02: 例如01:
if condition1 then
block1
elseif condition2 then
block2
elseif condition3 then
block3
else
block4
end
这里我们有一个代码块,从条件1开始到最后结束。
但是这段代码有四个块,每个条件都有单独的块。
例子02:
/////////////////////////// 01 //////////////////////
for variable = beginning, end, step do
block
end
/////////////////////////// 02 //////////////////////
function Name()
block
end
/////////////////////////// 03 //////////////////////
if condition then
block
end
在示例02中,块和区块是相同的,但它们并不总是相同的。请自行阅读。
http://www.lua.org/manual/2.5/manual.html
4.4.1 - 块
块是一系列按顺序执行的语句。任何语句都可以选择性地在末尾加上分号:
block := {stat sc} [ret] sc := [';']
2 - 环境和代码块
Lua 的执行单位被称为代码块。代码块的语法如下:
chunk := {stat | function} [ret]
这对你有帮助吗?