Or operator: Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>SoulStealer9875
No edit summary
>JulienDethurens
No edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__TOC__
__TOC__


The 'or' operator operates on two values.  If the first value is neither false nor nil, the 'or' operator returns the first value.  If the first value is false or nil, then it will return the second value, regardless of what it is.
The 'or' operator operates on two values.  If the first value is <b>neither [[Bool|false]] nor [[Nil|nil]]</b>, the 'or' operator returns the first value.  If the first value <b>is</b> false or nil, then it will return the second value, regardless of what it is.
== If Statement ==
== If Statement ==
The 'or' operator comes in handy when you want to check if one of the listed values is a certain value.
The 'or' operator comes in handy when you want to check if one of the listed values is a certain value.
<pre>
{{code and output
|code=
soul = true
soul = true
food = false
food = false
Line 10: Line 11:


if soul == true or food == true or try == true then -- If any of the three comparisons are met, then continue
if soul == true or food == true or try == true then -- If any of the three comparisons are met, then continue
     print 'Either soul, food or trys value is true.'
     print("The value of either soul, food or try is true.")
end
end
 
|output=The value of either soul, food or try is true.
 
}}
Output:
> Either soul, food or trys value is true.
</pre>


== Choice of Value ==
== Choice of Value ==
The 'or' operator can also be used to choose an existent value of a value that is nil or false. Here are some examples:
The 'or' operator can also be used to choose an existent value of a value that is nil or false. Here are some examples:
<pre>
{{code and output
|code=
local y = x or 1
local y = x or 1
print(y)
print(y)
> 1
|output=1
</pre>
}}


This printed '1' because variable 'x' doesn't exist and is therefore nil. So the or operator allowed us to choose 1 over nil.
This printed '1' because <var>x</var> doesn't exist and is therefore nil. So the or operator allowed us to choose 1 over nil.


<pre>
{{code and output
|code=
local x = false
local x = false
local y = x or 1
local y = x or 1
print(y)
print(y)
> 1
|output=1
</pre>
}}


This also printed '1' because although 'x' exists, it is false. If 'x' were true, then 'y' would be true because the 'or' operator would choose 'x' because it is not false and not nil.
This also printed '1' because although <var>x</var> exists, it is false. If <var>x</var> had been true, then <var>y</var> would be true, because the 'or' operator would choose <var>x</var>, as it is neither false, neither nil.


== See Also ==
== See Also ==
* [[%3D_Operator|= Operator]]
* [[and operator]]
* [http://wiki.roblox.com/index.php/And_operator And operator]
* [[not operator]]
* [[Not operator]]
* [[Conditional statements]]
* [http://wiki.roblox.com/index.php/Conditional_statements Conditional statements]
* [[Operators]]
* [[Operators]]

Latest revision as of 22:51, 29 January 2012

The 'or' operator operates on two values. If the first value is neither false nor nil, the 'or' operator returns the first value. If the first value is false or nil, then it will return the second value, regardless of what it is.

If Statement

The 'or' operator comes in handy when you want to check if one of the listed values is a certain value.

soul = true
food = false
try = false

if soul == true or food == true or try == true then -- If any of the three comparisons are met, then continue
    print("The value of either soul, food or try is true.")
end
The value of either soul, food or try is true.

Choice of Value

The 'or' operator can also be used to choose an existent value of a value that is nil or false. Here are some examples:

local y = x or 1
print(y)
1

This printed '1' because x doesn't exist and is therefore nil. So the or operator allowed us to choose 1 over nil.

local x = false
local y = x or 1
print(y)
1

This also printed '1' because although x exists, it is false. If x had been true, then y would be true, because the 'or' operator would choose x, as it is neither false, neither nil.

See Also