1. ホーム
  2. スクリプト・コラム
  3. ルア

ifの使い方を説明する ... else文の使い方

2022-02-11 13:25:18

 if文の後にオプションでelse文を付けることができ、この文はブール式が偽のときに実行されます。
シンタックス

プログラミング言語Luaのif ... else文の構文は、以下のとおりです。

コピーコード コードは以下の通りです。
if(boolean_expression)
then
   --[ statement(s) will execute if the boolean expression is true --]
else
   --[ statement(s) will execute if the boolean expression is false --]
end

論理式が真と評価されれば、ifブロックが実行され、そうでなければelseブロックが実行されます。

プログラミング言語Luaは、ブール値のtrueと0以外の値の組み合わせはすべてtrueとみなし、ブール値のfalseでも0でも、その後はfalseの値とみなします。ただし、Luaではゼロの値も真と見なすことに注意が必要です。
 例えば

コピーコード コードは以下の通りです。
--[ local variable definition --]
a = 100;
--[ check the boolean condition --]
if( a < 20 )
then
   --[ if condition is true then print the following --]
   print("a is less than 20" )
else
   --[ if condition is false then print the following --]
   print("a is not less than 20" )
end
print("value of a is :", a)

上記のコードをビルドして実行すると、以下のような結果になります。

コピーコード コードは以下の通りです。
a is not less than 20
value of a is : 100

if... .else if... .else文

if文の後には、オプションでelse if ... else文を付けることができ、様々な条件付きの単一if ... else if文のテストに非常に便利です。

if , else if , else 文を使用する場合、覚えておくべきことがいくつかあります。

  •     ifは0個でもelseでも構いませんが、elseifの前に置かなければなりません。
  •     ifの後に、elseの前に0個から多数個のelseを付けることができる。
  •     あるelse ifが成功すると、他のelseifはテストされなくなります。

構文

プログラミング言語Luaのif...else if...else...else文の構文は以下の通りです。

コピーコード コードは以下の通りです。
if(boolean_expression 1)
then
   --[ Executes when the boolean expression 1 is true --]

else if( boolean_expression 2)
   --[ Executes when the boolean expression 2 is true --]

else if( boolean_expression 3)
   --[ Executes when the boolean expression 3 is true --]
else
   --[ executes when the none of the above condition is true --]
end

コピーコード コードは以下の通りです。
--[ local variable definition --]
a = 100

--[ check the boolean condition --]
if( a == 10 )
then
   --[ if condition is true then print the following --]
   print("Value of a is 10" )
elseif( a == 20 )
then  
   --[ if else if condition is true --]
   print("Value of a is 20" )
elseif( a == 30 )
then
   --[ if else if condition is true --]
   print("Value of a is 30" )
else
   --[ if none of the conditions is true --]
   print("None of the values is matching" )
end
print("Exact value of a is: ", a )

上記のコードをビルドして実行すると、次のような結果が得られます。

コピーコード コードは以下の通りです。
None of the values is matching
Exact value of a is: 100