2012-01-24 23 views
8

luaプログラミング言語のif文の変数の下限値と上限値を設定するにはどうすればよいですか?私は以下の擬似コードのようなものが必要です。同じ変数に2つの条件があるLua-ifステートメント?

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 < zからtrue < zに行く終わるので、明示的な方法では、それはtrueに、true AND truex < y AND y < zからtrue AND y < zに行くのに対し、これは、あります。

+0

私は変数myvalueがテキストであることを忘れていましたので、テキストに格納されている正確な数値を取得するには引用符を使用する必要があります。 VALUES。 – Mateus

+1

@MateusNunes:おそらくテキスト(「文字列」と呼ばれる)を数字に変換するべきです。私の編集を参照してください。 – voithos

+0

ありがとう 'と'私のために働いた! – Mateus

関連する問題