Types/bool: Difference between revisions
Jump to navigation
Jump to search
m (code tags, small grammar changes) |
(Documented type coercion) |
||
Line 1: | Line 1: | ||
A variable type which can have one of two values: <code>true</code> or <code>false</code>. Wikipedia has a comprehensive article on [[wikipedia:Boolean|Booleans]]. | |||
== Advanced == | |||
Booleans used in prototypes can also be be defined by other variable types which are then coerced to boolean values by the game. This type coercion differs from the [https://www.lua.org/manual/5.2/manual.html#2.1 standard Lua truthy/falsy] coercion. | |||
It is recommended to only use <code>true</code> and <code>false</code>, not the options listed below. | |||
{| class="wikitable" | |||
|- | |||
! Value !! Factorio prototype loading coercion<br>to boolean !! Lua coercion<br>to boolean | |||
|- | |||
| <code>""</code> || false || true | |||
|- | |||
| <code>"true"</code> || true || true | |||
|- | |||
| <code>"false"</code> || false || true | |||
|- | |||
| <code>"0"</code> || false || true | |||
|- | |||
| <code>"<any number besides 0 (inside a string)>"</code> || true || true | |||
|- | |||
| <code>"<some random string>"</code> || not coerced, treated as a string || true | |||
|- | |||
| <code>0</code> || false || true | |||
|- | |||
| <code><any number besides 0></code> || true || true | |||
|- | |||
|} |
Revision as of 13:04, 19 January 2022
A variable type which can have one of two values: true
or false
. Wikipedia has a comprehensive article on Booleans.
Advanced
Booleans used in prototypes can also be be defined by other variable types which are then coerced to boolean values by the game. This type coercion differs from the standard Lua truthy/falsy coercion.
It is recommended to only use true
and false
, not the options listed below.
Value | Factorio prototype loading coercion to boolean |
Lua coercion to boolean |
---|---|---|
"" |
false | true |
"true" |
true | true |
"false" |
false | true |
"0" |
false | true |
"<any number besides 0 (inside a string)>" |
true | true |
"<some random string>" |
not coerced, treated as a string | true |
0 |
false | true |
<any number besides 0> |
true | true |