FFXIAH.com |
||
|
GearSwap Tutorial Pt3
GearSwap Tutorial (v0.1)PART 3A little more detail on conditionals. Sometimes we want to do something if a conditional is true, and other times we want to do something when it's not true. We may also have several things we want to check, and do something only if a particular condition is true. For that, we have the 'else' and 'elseif' commands. Code
if item1 == condition1 then
-- only if item1 == condition1
elseif item2 == condition2
-- only if item1 is *not* equal to condition1, *and* item2 == condition2
else
-- only if none of the if and elseif checks before this were true
end
-- Note: this 'end' is the endpoint for the first 'if'; don't forget it
Any computer program is ultimately just a huge series of if/then sequences, deciding what to do when /this/ happens, or what to do when it /doesn't/ happen, or what to do when two things happen at the same time, etc. Also remember that there's a difference between: Code
if item1 == true then
-- action1
end
if item2 == true then
-- action2
end
and Code
if item1 == true then
-- action1
elseif item2 == true then
-- action2
end
In the first code block, if item2 is true than action2 will happen, even if item1 was true. In the second code block, if item1 was true then item2 will never be checked, and action2 will never happen. It's a subtle difference, and often won't make any real difference to what happens when the program is run. But it's a flaw that I see time and time again when people ask me to review their scripts -- when what you're trying to check for is necessarily exclusive (ie: if item1 was true then action2 should never happen), the code is still built as if it were not exclusive, and that can lead to hard-to-diagnose errors. Navigation Part 1 - Basic Sets and Events Part 2 - Conditionals and Testing Part 3 - More on Conditionals Part 4 - Tables Part 5 - Abstractions Part 6 - Asking the Right Questions Part 7 - Library Tools Author:
Motenten
Date Created: 2014-04-25 18:02:21
Date Last Modified: 2014-05-15 14:40:13
Updates: 4
Bytes: 2452
|
||
|
All FFXI content and images © 2002-2025 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|
||