Lua - Nested if statements



It is always legal in Lua programming to nest if-else statements, which means you can use one if or else if statement inside another if or else if statement(s).

Syntax

The syntax for a nested if statement is as follows −

if( boolean_expression 1)
then
   --[ Executes when the boolean expression 1 is true --]
   if(boolean_expression 2)
   then
      --[ Executes when the boolean expression 2 is true --]
   end
end

Example - Nested if statement within if Statement

In this example, we're showing use of nested if statement within an if statement. We've initialized two variables a and b to 100 and 200 respectively. Then we're checking value of a with 100 using if statement. As if statement is true, in its body we're again checking value of b using a nested if statement.

main.lua

--[ local variable definition --]
a = 100;
b = 200;

--[ check the boolean condition --]

if( a == 100 )
then
   --[ if condition is true then check the following --]
   if( b == 200 )
   then
      --[ if condition is true then print the following --]
      print("Value of a is 100 and b is 200" );
   end
end

print("Exact value of a is :", a );
print("Exact value of b is :", b );

Output

When you build and run the above code, it produces the following result.

Value of a is 100 and b is 200
Exact value of a is :	100
Exact value of b is :	200

You can nest else if...else in the similar way as you have nested if statement.

Example - Nested if statement within else Statement

In this example, we're showing use of nested if statement within an else statement. We've initialized two variables a and b to 31 and 20 respectively. Then we're checking value of a less than 30 using if statement. As if statement is false, control jumps to else statement where we're again checking value of y using a nested if statement.

main.lisp

a = 31;
b = 20;

if( a < 30 )
then
   print("a < 30")
else
   if(b > 9)
   then
      print("a > 30 and b > 9" );
   end
end

Output

When you build and run the above code, it produces the following result.

a > 30 and b > 9
lua_decision_making.htm
Advertisements