2012-08-25 22 views

回答

5

已被要求在這裏解決:http://lua-users.org/lists/lua-l/2012-06/threads.html#00723

從5.2手動:

Lua中的執行單位被稱爲塊。在語法上,一大塊是一個簡單的塊:chunk ::= block

從羅伯特的嘴:

,一個塊是塊並不意味着任何塊是塊 的事實。塊不嵌套(不像塊)。一個塊是最後一個塊,您提供給「加載」的塊 。

1

塊是副部塊的,他們可能是同一些時間在代碼示例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 - 阻止

A嵌段是語句,其被順序地執行的列表。任何語句可任選地隨後用分號:

塊:= {STAT SC} [RET] SC:= [ ';']

2 - 環境與大塊

的單元Lua的執行稱爲塊。對於大塊的語法是:

塊:= {統計|函數} [RET]

是很有幫助?????

+0

@booirror如果它很有用,那麼不要忘記選擇它作爲答案和向上箭頭。 –

+0

是的,大塊包含blocks.do你認爲是嗎? – booirror

+0

是的,我認爲大塊由單個結構的塊(單個或多個)組成,通常以結束結束。 –

3

A嵌段可以是代碼塊。但是,塊通常意味着零個或多個屬於例如if語句或函數的語句。

official Lua reference引述:

[...] A嵌段是語句列表;語法,塊是一樣的一大塊[...]

如果你看一下the grammar of Lua,你可以看到,它們是相同的:

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

block ::= chunk 
6

塊是獨立可執行的語句序列。一個塊只是一系列的語句。區別在於塊可以獨立於其他塊執行。

所有塊是塊(語句序列),但不是所有的塊是塊。

塊是基本上一個Lua 功能;你可以用一些參數調用它,它會返回0或更多的值。這就是我所說的「獨立可執行」:塊中的語句將按順序執行。但是,一旦你退出一個塊,你接下來執行的塊是由你決定的。

相關問題