2016-01-11 9 views
5

सी जैसे प्रोग्रामिंग भाषाओं में आप ब्लॉक के अंदर चर के दायरे को सीमित करने के लिए एक अनाम कोड ब्लॉक बना सकते हैं, यह लुआ के साथ भी किया जा सकता है?क्या आप लुआ में अनाम कोड ब्लॉक बना सकते हैं?

यदि ऐसा है तो निम्नलिखित सी कोड के लाउ समकक्ष क्या होगा?

void function() 
{ 
    { 
     int i = 0; 
     i = i + 1; 
    } 

    { 
     int i = 10; 
     i = i + 1; 
    } 
} 
+1

लुआ में आउटपुट, सभी ब्लॉकों गुमनाम, वैसे भी कर रहे हैं। कुछ [फ़ंक्शन परिभाषाओं] का शर्करा वाक्यविन्यास (http://www.lua.org/manual/5.3/manual.html#3.4.11) असाइनमेंट के साथ फ़ंक्शन परिभाषा को संयोजित करने के केवल स्टाइलिस्ट तरीके हैं। –

उत्तर

6

आप do...end का उपयोग करना चाहते हैं। manual से:

stat ::= do block end 

स्पष्ट ब्लॉक चर घोषणाओं के दायरे को नियंत्रित करने के लिए उपयोगी होते हैं:

एक ब्लॉक स्पष्ट रूप से एक सिंगल स्टेटमेंट का उत्पादन करने के सीमांकित जा सकता है। स्पष्ट ब्लॉक भी कभी कभी एक और ब्लॉक

function fn() 
    do 
     local i = 0 
     i = i + 1 
    end 
    do 
     local i = 10 
     i = i + 1 
    end 
end 
5

के बीच में एक return या break बयान को जोड़ने के लिए आप कीवर्ड do & end के साथ एक ब्लॉक परिसीमित कर सकते हैं उपयोग किया जाता है।

संदर्भ: Programming in Lua

0

एक गुमनाम समारोह चल रहा है इस प्रकार होता है: (function(a,b) print(a+b) end)(1,4)

यह 5.

संबंधित मुद्दे