Revision Difference
nil#526923
<cat>Dev.Lua</cat>
nil is Lua's representation of empty data. Unset variables and non-existent table keys will be nil. This will be treated as false in if-statement contexts, but is not equal to false.
Example:
```
print(nil)
print(nil == 0)
print(nil == 1)
print(nil == nil)
print(!nil) --because nil can be treated like a false boolean in some cases, "not nil" will equal true
local myEmptyVariable --a variable with nothing in it (a 'nil' value)
print(myEmptyVariable)
local myTable = {a="foo", b="bar"}
myTable["a"] = nil --setting a value in a table to nil effectively erases it from the table
PrintTable(myTable)
```
Output:<br/>nil<br/>false<br/>false<br/>true<br/>true<br/>nil<br/>b = bar
Output:<br/>nil<br/>false<br/>false<br/>true<br/>true<br/>nil<br/>b = bar⤶
⤶
# Application in VGUI⤶
You can use nil to make some VGUI element transparent.⤶
⤶
## Example Code⤶
⤶
```⤶
local menu = vgui.Create( 'DFrame' )⤶
menu:SetSize( 300, 200 )⤶
menu:Center()⤶
menu:MakePopup()⤶
menu:SetTitle( 'Made by Freline' )⤶
⤶
local panel = vgui.Create( 'DPanel', menu )⤶
panel:Dock( FILL )⤶
panel.Paint = nil⤶
```⤶