Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
WoW
Talk
English
Views
Read
Edit
History
More
Search
Navigation
Home
Random page
Help using wiki
Editions
for WoW
for WildStar
for Solar2D
Documentation
for WoW
for WildStar
Reference
WoW
⦁ FrameXML
⦁ AddOns
⦁ API
⦁ WoW Lua
WildStar
⦁ AddOns
⦁ API
⦁ WildStar Lua
Engine
Tools
What links here
Related changes
Special pages
Page information
Site
Recent Changes
Editing
WoW:API TYPE Boolean
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Advanced
Special characters
Help
Heading
Level 2
Level 3
Level 4
Level 5
Format
Insert
Latin
Latin extended
IPA
Symbols
Greek
Greek extended
Cyrillic
Arabic
Arabic extended
Hebrew
Bangla
Tamil
Telugu
Sinhala
Devanagari
Gujarati
Thai
Lao
Khmer
Canadian Aboriginal
Runes
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
Formatting
Links
Headings
Lists
Files
References
Discussion
Description
What you type
What you get
Italic
''Italic text''
Italic text
Bold
'''Bold text'''
Bold text
Bold & italic
'''''Bold & italic text'''''
Bold & italic text
{{wowapitype}} The special WoW 'boolean' API type, use in WoW Lua and the WoW API. Typically a '''boolean''' data type is one that by definition only has two states, "true" and "false". The old WoW boolean Type is defined by number 1 and {{api|nil|t=t}}, for true and false. Many older APIs in WoW use these semantics for bool. == History of Booleans in WoW == In [[Lua]], the programming language used by the World of Warcraft [[User Interface]], real booleans were not introduced until version 5.0. Early versions of World of Warcraft used Lua v4, which shows in that the majority of [[API]]s still return '''1''' for "true", and '''nil''' for "false". In Lua, there are only two values that evaluate to a boolean false: '''false''' and '''nil'''. '''ALL OTHER VALUES EVALUATE TO TRUE'''. Including 0, which is an important distinction for e.g. {{wplink|C programming language|C/C++}} programmers. == Gotchas with Boolean types in Lua == When used in '''if ... then''' clauses a '''1''' result is the same as a '''true''' result, so you do not have to worry there. But beware of ''comparing'' the returns of supposedly-boolean functions with eachother without forcing them to actually be boolean. Example: function Func1() return 1; end -- old-style function returning 1 for true function Func2() return true; end -- new-style function actually using true if(Func1() == Func2()) then print "They're both the same!"; else print "They're different!"; end This would output '''"They're different!"''', because ''1 and true are not the same thing in Lua''. You can force a value to be boolean by NOTing it twice, like so: definitelyBoolean = not not kindaBoolean; In the earlier disfunctional example, we'd get away with NOTing it just once since we're only testing if they're the same: if( (not Func1()) == (not Func2()) ) then ... == See Also == * [[API types]] * [[XML types]] * [[XML attribute types]] [[Category:API types]] [[Category:Glossary]]
Summary:
Please note that all contributions to AddOn Studio are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
AddOn Studio Wiki:Copyrights
for details).
Submissions must be written by you, or copied from a public domain or similar free resource (see
AddOn Studio Wiki:Copyrights
for details).
Cancel
Editing help
(opens in new window)
Template:Api
(
edit
)
Template:Apinav
(
edit
)
Template:Editlink
(
edit
)
Template:Wowapi
(
edit
)
Template:Wowapitype
(
edit
)
Template:Wplink
(
edit
)