#chars .:
#lua 5.0
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