Conditional statements
This guide is for absolute beginners. It is intended to familiarize you with conditionals, or conditional statements, in Lua. If you haven't already, please see Your first script as a beginner tutorial. You will learn:
- What conditional statements are
- Certain types of conditional statements
- How to use conditional statements
Discussion
"Conditional statements are a way of responding differently based on the result of a comparison, called a conditional expression."[1]
This means that you are comparing the value of two (or more) expressions. Let's suppose that if 2+3 is equal to 5, then we want Roblox tell us that 2+3 == 5 .
Lua is similar to human language in this regard, we type:
Always close an if/then statement with "end", as it marks the closing of the 'if' block.
An illustration of this in a flowchart would be:
Here's another example. Let's evaluate if (10-2) is greater than 3, then tell us that (10-2) > 3 .:
One last example. Evaluate if 100 is not equal to 4, then tell us that (100~=4).
If
The 'if' condition is the starting statement to all conditional blocks of code. Use the 'if' statement to execute a block of code if the inputted expression is true.
Else
In an 'if..else' block of code, the statements under the 'else' block will execute if the 'if' condition is false. Keep in mind that 'else' statements can only be used when there is an 'if' statement.
Let's see this as applied to scripting:
Since 10>100 is false, the then statement won't execute, but the else block will.
Elseif
In an 'if..elseif block of code, the compiler will go from top to bottom, checking whether each, if any, of the conditions are true. If one of the conditions are true, the corresponding block of code will be executed.
"If it is raining, bring your umbrella. Otherwise, if (i.e., "elseif") it is sunny, bring your suntan lotion."
We can use the "elseif" statement. Let's try that in a script:
The only instance any of the conditions would be true is 10<100, which would result in the printing of "10 is less than 100".
Note: Blocks of 'if..elseif..else' code can be used.
Advanced Usage
To eliminate the need for long and winding if statements, there is another way. It has the following advantages:
- Makes your script shorter
- Increases the readability of you script
- Is simpler to write
Here is an example:
This method uses two operators: "and" and "or".
This could be compared to a if...then and a else statement.
Several elseif...then statements can be rowed up, like in the first example, where the local variable "variable" is compared with several questions and then,
if none of the statements are true, uses the else statement, if that is provided by you.