Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
lua中chunk和block的区别是什么_Lua - Fatal编程技术网

lua中chunk和block的区别是什么

lua中chunk和block的区别是什么,lua,Lua,lua中chunk和block的区别是什么?我不明白什么是块 块是块的子部分,有时它们可能与代码示例02中的相同: 例如01: if condition1 then block1 elseif condition2 then block2 elseif condition3 then block3 else block4 end 在这里,我们有一块从 如果是条件1,那么到最后 但是这个代码有四个块

lua中chunk和block的区别是什么?我不明白什么是块

块是块的子部分,有时它们可能与代码示例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中,chunk&block是相同的,但始终不相同。 请自己读

4.4.1-块

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

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

2-环境和区块

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

块:={stat | function}[ret]


它有用吗????

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

引自:

[…]块是语句列表;在语法上,块与块相同[…]

如果你看,你会发现它们是一样的:

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

block ::= chunk

块是一个独立可执行的语句序列。块只是一系列语句。区别在于一个块可以独立于其他块执行

所有块都是语句序列的块,但并非所有块都是块


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

已在此处询问并解决:

从5.2手册中:

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

出自罗伯托之口:

块是块这一事实并不意味着任何块都是块 大块块不像块那样嵌套。块是最外层的块 你喂它来装


@booirror如果有用,那么别忘了选择它作为应答和向上箭头。是的,块由块组成。你这样认为吗?是的,我认为块由单个或多个单结构块组成,通常以end结尾。它们是一样的。您正在链接到1997年的Lua文档!那是15多年前的事了。阅读我发布的参考资料,它来自Lua5.1,并清楚地表明它们实际上是一样的。@BartKiers感谢更新。