4

lua中的块和块有什么区别?看不懂什么是块!!!

4

4 回答 4

6

块是独立可执行的语句序列。块只是一系列语句。不同之处在于一个块可以独立于其他块执行。

所有块都是块(语句序列),但并非所有块都是块。

块基本上是一个 Lua函数;您可以使用一些参数调用它,它会返回 0 个或多个值。这就是我所说的“独立可执行”的意思:块中的语句将按顺序执行。但是一旦你退出一个块,你接下来执行什么块取​​决于你。

于 2012-08-25T10:39:39.183 回答
5

已在此处询问和解决:http: //lua-users.org/lists/lua-l/2012-06/threads.html#00723

从 5.2 手册:

Lua 的执行单元称为块。从语法上讲,块只是一个块:chunk ::= block

从罗伯托的口中:

块是块的事实并不意味着任何块都是块。块不嵌套(与块不同)。块是您提供给“加载”的最外层块。

于 2012-08-25T18:04:20.450 回答
3

一个块可以是一块代码。然而,一个块通常意味着零个或多个属于例如一个if语句或函数的语句。

来自官方 Lua 参考的引述:

[...] 块是语句的列表;从语法上讲,块与块相同 [...]

如果您查看Lua 的语法,您会发现它们是相同的:

chunk ::= {stat [`;´]} [laststat [`;´]]

block ::= chunk
于 2012-08-25T07:04:05.297 回答
1

块是块的子部分,它们有时可能与代码示例 02 中的相同:例如 01:

 if condition1 then
        block1
    elseif condition2 then
        block2
    elseif condition3 then
        block3
    else
        block4
    end

在这里,我们有一个块,从
if 条件 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 - 块

块是顺序执行的语句列表。任何语句都可以选择后跟分号:

块 := {stat sc} [ret] sc := [';']

2 - 环境和块

Lua 的执行单元称为块。块的语法是:

块:= {统计| 函数} [返回]

有用吗??????

于 2012-08-25T06:59:30.360 回答