2012-01-24 10 views
8

मैं लुआ प्रोग्रामिंग भाषा में if-statement में चर के लिए निचला और ऊपरी बाध्य मान कैसे सेट कर सकता हूं? मुझे नीचे छद्म कोड की तरह कुछ चाहिए।लुआ - यदि एक ही चर पर दो स्थितियों के साथ कथन?

if ("100000" >= my_variable <= "80000") then 
    do stuff... 
end 

मैंने विभिन्न प्रारूपों का प्रयास किया है लेकिन मेरा आवेदन क्रैश हो रहा है।

अद्यतन:

lua की वाक्य रचना के बारे में संदेह का एक ही प्रकार के साथ किसी के लिए, मैं प्रलेखन here जाँच और यह काम रखने की सलाह देते हैं। सीखते समय यह उपयोगी होगा।

+0

आपके दुर्घटनाग्रस्त मुद्दों के लिए, मुझे लगता है कि यह अभी बंद हो जाता है? इसे ठीक करने के लिए, आप लूआ दुभाषिया खोलना चाहते हैं और 'dofile ("your_file.lua") दर्ज करना चाहते हैं। यह इसे इंटरैक्टिव मोड में चलाएगा, और त्रुटि दिखाए जाने के बाद इसे बंद करने से रोक देगा। (आप अपनी बिल्ड स्क्रिप्ट के अंत में "रोकें" भी जोड़ सकते हैं) – Deco

उत्तर

18

आपको अपनी स्ट्रिंग को एक संख्या में परिवर्तित करना चाहिए, अगर आपको पता है कि यह एक संख्या होनी चाहिए, और यदि स्ट्रिंग होने का कोई कारण नहीं है।

यहाँ कैसे एक श्रृंखला के लिए एक तुलना करना है:

myVariable = tonumber(myVariable) 

if (100000 >= myVariable and myVariable >= 80000) then 
    display.remove(myImage) 
end 

सूचना and। अधिकांश प्रोग्रामिंग भाषाएं x < y < z से x < y AND y < z फ़ॉर्म का विस्तार नहीं करती हैं, इसलिए आपको तार्किक and स्पष्ट रूप से उपयोग करना होगा। ऐसा इसलिए है क्योंकि दूसरी ओर से एक तरफ मूल्यांकन किया जाता है, इसलिए बाएं से दाएं क्रम में यह x < y < z से true < z तक जाता है जो एक त्रुटि है, जबकि स्पष्ट विधि में, यह x < y AND y < z से true AND y < z से true AND true तक true तक जाता है ।

+0

मुझे खेद है कि मैं यह उल्लेख करना भूल गया कि परिवर्तनीय myvalue एक पाठ है, इसलिए टेक्स्ट पर संग्रहीत सटीक संख्याएं प्राप्त करने के लिए मुझे उद्धरणों का उपयोग करना होगा! अद्यतन मान। – Mateus

+1

@MateusNunes: आपको शायद अपना टेक्स्ट (जिसे "स्ट्रिंग" के रूप में जाना जाता है) को एक संख्या में परिवर्तित करना चाहिए। मेरा संपादन देखें। – voithos

+0

धन्यवाद 'और' मेरे लिए काम किया! – Mateus

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