2012-01-24 74 views
8

如何在lua編程語言的if語句中設置變量的下限和上限值?我需要像下面的僞代碼。Lua - 如果在同一個變量上有兩個條件的語句?

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

我試過不同的格式,但我的應用程序不斷崩潰。

更新:

要的同種約lua的語法疑惑的人,我建議你檢查的文件here並保持它得心應手。學習時它會很有用。

+0

至於你的崩潰問題,我會假設它剛剛關閉?爲了解決這個問題,你想打開Lua解釋器並輸入'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 < ztrue < z這是一個錯誤,而在明確的方法中,它從x < y AND y < ztrue AND y < ztrue AND truetrue

+0

對不起,我忘了提及變量myvalue是一個文本,所以要獲取文本中存儲的確切數字,我必須使用引號!值。 – Mateus

+1

@MateusNunes:您應該將您的文本(稱爲「字符串」)轉換爲數字。看我的編輯。 – voithos

+0

感謝'和'爲我工作! – Mateus

相關問題