#chars .:
keyword and
keyword break
keyword do
keyword else
keyword elseif
keyword end
keyword false
keyword for
keyword function
keyword if
keyword in
keyword local
keyword nil
keyword not
keyword or
keyword repeat
keyword return
keyword then
keyword true
keyword until
keyword while

function assert(v [, message]) |error if v nil or false, otherwise returns v
function bit.arshift(x, n) |arithmetic right-shift
function bit.band(x1 [,x2...]) |bitwise 'and' of arguments
function bit.bnot(x) |bitwise 'not' of argument
function bit.bor(x1 [,x2...]) |bitwise 'or' of arguments
function bit.bswap(x) |swaps the bytes of the argument (32-bit little-endian/big-endian)
function bit.bxor(x1 [,x2...]) |bitwise 'xor' of arguments
function bit.lshift(x, n) |logical left-shift
function bit.rol(x, n) |bitwise left rotation
function bit.ror(x, n) |bitwise right rotation
function bit.rshift(x, n) |logical right-shift
function bit.tohex(x [,n]) |Converts its first argument to a hex string
function collectgarbage([limit]) |set threshold to limit KBytes, default 0, may run GC
function coroutine.create(f) |creates coroutine from function f, returns coroutine
function coroutine.resume(co, val1, ...) |continues execution of co, returns bool status plus any values
function coroutine.status(co) |returns co status: "running", "suspended" or "dead"
function coroutine.wrap(f) |creates coroutine with body f, returns function that resumes co
function coroutine.yield(val1, ...) |suspend execution of calling coroutine
function debug.debug() |enters interactive debug mode, line with only "cont" terminates
function debug.gethook() |returns current hook function, hook mask, hook count
function debug.getinfo(function [, what]) |returns table with information about a function
function debug.getlocal(level, local) |returns name and value of local variable with index local at stack level
function debug.getupvalue(func, up) |returns name and value of upvalue with index up of function func
function debug.sethook(hook, mask [, count]) |sets given function as a hook, mask="[crl]"
function debug.setlocal(level, local, value) |sets local variable with index local at stack level with value
function debug.setupvalue(func, up, value) |sets upvalue with index up of function func with value
function debug.traceback([message]) |returns a string with a traceback of the call stack
function dofile(filename) |executes as Lua chunk, default stdin, returns value
function error(message [, level]) |terminates protected func, never returns, level 1 (default), 2=parent
function file:close() |closes file
function file:flush() |saves any written data to file
function file:lines() |returns iterator function to return lines, nil ends
function file:read(format1, ...) |reads file according to given formats, returns read values or nil
function file:seek([whence] [, offset]) |sets file pos, whence="set"|"cur"|"end", defaults "curr",0, returns file pos
function file:write(value1, ...) |writes strings or numbers to file
function gcinfo() |returns dynamic mem in use (KB), and current GC threshold (KB)
function getfenv(f) |gets env, f can be a function or number (stack level, default=1), 0=global env
function getmetatable(object) |returns metatable of given object, otherwise nil
function io.close([file]) |closes file, or the default output file
function io.flush() |flushes the default output file
function io.input([file]) |opens file in text mode, sets as default input file, or returns current default input file
function io.lines([filename]) |open file in read mode, returns iterator function to return lines, nil ends
function io.open(filename [, mode]) |opens file in specified mode "[rawb+]", returns handle or nil
function io.output([file]) |opens file in text mode, sets as default output file, or returns current default output file
function io.read(format1, ...) |reads file according to given formats, returns read values or nil
function io.tmpfile() |returns a handle for a temporary file, opened in update mode
function io.type(obj) |returns "file" if obj is an open file handle, "close file" if closed, or nil if not a file handle
function io.write(value1, ...) |writes strings or numbers to file
function ipairs(t) |returns an iterator function, table t and 0
function lfs.attributes (filepath [, aname]) |returns a table with the file attributes corresponding to filepath
function lfs.chdir(path) |changes the current working directory to path
function lfs.currentdir() |returns a string with the current working directory or nil plus an error string.
function lfs.dir(path) |Lua iterator over the entries of a given directory
function lfs.lock(filehandle, mode[, start[, length]]) |Locks a file or a part of it
function lfs.mkdir(dirname) |creates a new directory
function lfs.rmdir(dirname) |removes an existing directory
function lfs.touch(filepath [, atime [, mtime]]) |set access and modification times of a file
function lfs.unlock(filehandle[, start[, length]]) |unlocks a file or a part of it. This function works on open files
function loadfile(filename) |loads chunk without execution, returns chunk as function, else nil plus error
function loadlib(libname, funcname) |links to dynamic library libname, returns funcname as a C function
function loadstring(string [, chunkname]) |loads string as chunk, returns chunk as function, else nil plus error
function math.abs(v) |returns absolute value of v
function math.acos(v) |returns arc cosine value of v in radians
function math.asin(v) |returns arc sine value of v in radians
function math.atan(v) |returns arc tangent value of v in radians
function math.atan2(v1, v2) |returns arc tangent value of v1/v2 in radians
function math.ceil(v) |returns smallest integer >= v
function math.cos(rad) |returns cosine value of angle rad
function math.deg(rad) |returns angle in degrees of radians rad
function math.exp(v) |returns e^v
function math.floor(v) |returns largest integer <= v
function math.frexp(v) |returns mantissa [0.5,1) and exponent values of v
function math.ldexp(v1, v2) |returns v1*2^v2
function math.log(v) |returns natural logarithm of v
function math.log10(v) |returns logarithm 10 of v
function math.max(v1, ...) |returns maximum in a list of one or more values
function math.min(v1, ...) |returns minimum in a list of one or more values
function math.mod(v1, v2) |returns remainder of v1/v2 which is v1 - iV2 for some integer i
function math.pow(v1, v2) |returns v1 raised to the power of v2
function math.rad(deg) |returns angle in radians of degrees deg
function math.random([n [, u]]) |returns random real [0,1), integer [1,n] or real [1,u] (with n=1)
function math.randomseed(seed) |sets seed for pseudo-random number generator
function math.sin(rad) |returns sine value of angle rad
function math.sqrt(v) |returns square root of v
function math.tan(rad) |returns tangent value of angle rad
function next(table [, index]) |returns next index,value pair, if index=nil (default), returns first index
function os.clock() |returns CPU time used by program in seconds
function os.date([format [, time]]) |returns a string or table containing date and time, "*t" returns a table
function os.difftime(t2, t1) |returns number of seconds from time t1 to time t2
function os.execute(command) |executes command using C function system, returns status code
function os.exit([code]) |terminates host program with optional code, default is success code
function os.getenv(varname) |returns value of environment variable varname. nil if not defined
function os.remove(filename) |deletes file with given name, nil if fails
function os.rename(oldname, newname) |renames file oldname to newname, nil if fails
function os.setenv(name,value) |set an environment variable (ex)
function os.setlocale(locale [, category]) |set current locale of program, returns name of new locate or nil
function os.sleep(seconds) |pause for the given amount of seconds (can be fraction) (ex)
function os.spawn(filename) |create a child process (ex)
function os.time([table]) |returns current time (usually seconds) or time as represented by table
function os.tmpname() |returns a string with a filename for a temporary file (dangerous! tmpfile is better)
function pairs(t) |returns the next function and table t plus a nil, iterates over all key-value pairs
function pcall(f, arg1, arg2, ...) |protected mode call, catches errors, returns status code first (true=success)
function print(e1, e2, ...) |prints values to stdout using tostring
function rawequal(v1, v2) |non-metamethod v1==v2, returns boolean
function rawget(table, index) |non-metamethod get value of table[index], index != nil
function rawset(table, index, value) |non-metamethod set value of table[index], index != nil
function require(packagename) |loads package, updates _LOADED, returns boolean
function setfenv(f, table) |sets env, f can be a function or number (stack level, default=1), 0=global env
function setmetatable(table, metatable) |sets metatable, nil to remove metatable
function string.byte(s [, i]) |returns numerical code, nil if index out of range, default i=1
function string.char(i1, i2, ...) |returns a string built from 0 or more integers
function string.dump(function) |returns binary representation of function, used with loadstring
function string.find(s, pattern [, init [, plain]]) |matches pattern in s, returns start,end indices, else nil
function string.format(formatstring, e1, e2, ...) |returns formatted string, printf-style
function string.gfind(s, pat) |returns iterator function that returns next captures from pattern pat on s
function string.gsub(s, pat, repl [, n]) |returns copy of s with pat replaced by repl, and substitutions made
function string.len(s) |returns string length
function string.lower(s) |returns string with letters in lower case
function string.pack(fmt,...) |pack arguments as a binary string using 'fmt' (pack)
function string.rep(s, n) |returns string with n copies of string s
function string.sub(s, i [, j]) |returns substring from index i to j of s, default j=-1 (string length)
function string.unpack(s,fmt) |unpack arguments from binary string according to 'fmt' (pack)
function string.upper(s) |returns string with letters in upper case
function table.concat(table [, sep [, i [, j]]]) |returns concatenated table elements i to j separated by sep
function table.foreach(table, f) |executes f(index,value) over all elements of table, returns first non-nil of f
function table.foreachi(table, f) |executes f(index,value) in sequential order 1 to n, returns first non-nil of f
function table.getn(table) |returns size of table, or n field, or table.setn value, or 1 less first index with nil value
function table.insert(table, [pos,] value) |insert value at location pos in table, default pos=n+1
function table.remove(table [, pos]) |removes element at pos from table, default pos=n
function table.setn(table, n) |sets size of table, n field of table if it exists
function table.sort(table [, comp]) |sorts in-place elements 1 to n, comp(v1,v2) true if v1<v2, default <
function tonumber(e [, base]) |convert to number, returns number, nil if non-convertible, 2<=base<=36
function tostring(e) |convert to string, returns string
function type(v) |returns type of v as a string
function unpack(list) |returns all elements from list
function xpcall(f, err) |pcall function f with new error handler err

handle io.stderr |file descriptor for STDERR
handle io.stdin |file descriptor for STDIN
handle io.stdout |file descriptor for STDOUT

variable _G |holds global environment, setfenv changes environments
variable _VERSION |current interpreter version
