Questions about this topic? Sign up to ask in the talk tab.


From NetSec
Jump to: navigation, search

Lua is a portable interpreted language. It is mainly used in Games, however it is also used by NMAP's Scripting Engine

Special thanks to Trep for his contributions to this article.


-- This is a single line comment


Variables in Lua are very simple. it is not required to declare the variable's data type, just assign a value.

Var = 1
Var2 = "Im a var!"
Var3 = 2
Var4 = Var * Var3

Global Variables vs Local Variables

When Variables in lua are declared, they are globally accessible unless otherwise specified with local.

GlobalVar = 0
local LocalVar = 1337


Functions in lua are quite easy as well.

function SimpleAddition(x,y,z)
   local Sum = x + y + z --only accessible from within this context.
   SumTimesTwo = Sum * 2 -- can be referenced from anywhere in the current file, or wherever file is loaded.
   return Sum


Lua tables are a bit like arrays, except that an array is.. well an array of values. A Table, is an array of Keys, and those Keys have values.

Declaring an empty Table

MyTable = {} --declares an empty table.

Declaring, and populating a Table

Numbers = {"one","Two","Three","Four","Five"} 

The above declaration is exact to the one below

Numbers = {} 
Numbers[1] = "one"
Numbers[1] = "Two"
Numbers[1] = "Three"
Numbers[1] = "Four"
Numbers[1] = "Five"

Indexing Tables

Protip: Unlike what you would expect, the index for a table starts at 1, instead of 0.
Numbers = {"one","Two","Three","Four","Five"} 
print(Numbers[0]) -- prints nil, as index starts at 1.
print(Numbers[1]) -- prints "one"

LUA is part of a series on programming.