Difference between revisions of "Manual:Lua Functions"
m (moved Manual:LUA Functions to Manual:Lua Functions) |
|||
| Line 20: | Line 20: | ||
== Table Functions == | == Table Functions == | ||
== String Functions == | == String Functions == | ||
| + | =string.cut= | ||
| + | string.cut(s, maxLen) | ||
| + | |||
| + | Cut string to specified maximum length. | ||
| + | |||
| + | Parameters: | ||
| + | s: | ||
| + | maxLen: | ||
| + | |||
| + | Usage: | ||
| + | Following call will return 'abc'. | ||
| + | string.cut("abcde", 3) | ||
| + | You can easily pad string to certain length. Example bellow will print 'abcde ' e.g. pad/cut string to 10 characters. | ||
| + | local s = "abcde" | ||
| + | s = string.cut(s .. " ", 10) -- append 10 spaces | ||
| + | echo("'" .. s .. "'") | ||
| + | |||
| + | =string.enclose= | ||
| + | string.enclose(s, maxlevel) | ||
| + | |||
| + | Enclose string by long brackets. | ||
| + | |||
| + | Parameters: | ||
| + | s: | ||
| + | maxlevel: | ||
| + | |||
| + | =string.ends= | ||
| + | string.ends(String, Suffix) | ||
| + | |||
| + | Test if string is ending with specified suffix. | ||
| + | |||
| + | Parameters: | ||
| + | String: | ||
| + | Suffix: | ||
| + | |||
| + | See also: | ||
| + | [[Manual:Lua_Functions#String_Functions#string.starts|string.starts()]] | ||
| + | |||
| + | =string.findPattern= | ||
| + | string.findPattern(text, pattern) | ||
| + | Return first matching substring or nil. | ||
| + | |||
| + | Parameters | ||
| + | text: | ||
| + | pattern: | ||
| + | |||
| + | Usage: | ||
| + | Following example will print: "I did find: Troll" string. | ||
| + | local match = string.findPattern("Troll is here!", "Troll") | ||
| + | if match then | ||
| + | echo("I did find: " .. match) | ||
| + | end | ||
| + | This example will find substring regardless of case. | ||
| + | local match = string.findPattern("Troll is here!", string.genNocasePattern("troll")) | ||
| + | if match then | ||
| + | echo("I did find: " .. match) | ||
| + | end | ||
| + | |||
| + | Return value: | ||
| + | nil or first matching substring | ||
| + | |||
| + | See also: | ||
| + | [[Manual:Lua_Functions#String_Functions#string.genNocasePattern|string.genNocasePattern()]] | ||
| + | |||
| + | =string.genNocasePattern= | ||
| + | string.genNocasePattern(s) | ||
| + | |||
| + | Generate case insensitive search pattern from string. | ||
| + | |||
| + | Parameters | ||
| + | s: | ||
| + | |||
| + | Usage: | ||
| + | Following example will generate and print "123[aA][bB][cC]" string. | ||
| + | echo(string.genNocasePattern("123abc")) | ||
| + | |||
| + | Return value: | ||
| + | case insensitive pattern string | ||
| + | |||
| + | =string.starts= | ||
| + | |||
| + | string.starts(String, Prefix) | ||
| + | Test if string is starting with specified prefix. | ||
| + | Parameters: | ||
| + | String: | ||
| + | Prefix: | ||
| + | See also: | ||
| + | string.ends | ||
| + | |||
| + | =string.trim= | ||
| + | |||
| + | string.trim (s) | ||
| + | Trim string (remove all white spaces around string). | ||
| + | |||
| + | Parameters: | ||
| + | s: | ||
| + | Usage: | ||
| + | Example will print 'Troll is here!'. | ||
| + | local str = string.trim(" Troll is here! ") | ||
| + | echo("'" .. str .. "'") | ||
| + | |||
| + | =string:split= | ||
| + | |||
| + | string:split(delimiter) | ||
| + | Splits a string into a table by the given delimiter. | ||
| + | |||
| + | Parameters: | ||
| + | delimiter: | ||
| + | Usage: | ||
| + | Split string by ", " delimiter. | ||
| + | names = "Alice, Bob, Peter" | ||
| + | name_table = names:split(", ") | ||
| + | display(name_table) | ||
| + | Previous code will print out: | ||
| + | table { | ||
| + | 1: 'Alice' | ||
| + | 2: 'Bob' | ||
| + | 3: 'Peter' | ||
| + | } | ||
| + | Return value: | ||
| + | array with split strings | ||
| + | |||
| + | =string:title= | ||
| + | |||
| + | string:title() | ||
| + | Capitalize first character in a string. | ||
| + | |||
| + | Usage: | ||
| + | Variable testname is now Anna. | ||
| + | testname = string.title("anna") | ||
| + | Example will set test to "Bob". | ||
| + | test = "bob" | ||
| + | test = string.title(test) | ||
| + | |||
== Scripting Object Functions == | == Scripting Object Functions == | ||
== Mapper Functions == | == Mapper Functions == | ||
== Miscellaneous Functions == | == Miscellaneous Functions == | ||
Revision as of 02:20, 20 May 2011
Function Categories
Label/Window creation/manipulation Functions: These functions are used to construct custom user GUIs. They deal mainly with miniconsole/label/gauge creation and manipulation.
createMiniConsole() createLabel() createGauge()
Table Functions: These functions are used to manipulate tables. Through them you can add to tables, remove values, check if a value is present in the table, check the size of a table, and more.
String Functions
Scripting Object Functions
Mapper Functions
Miscellaneous Functions
Label/Window creation/manipulation Functions
Table Functions
String Functions
string.cut
string.cut(s, maxLen)
Cut string to specified maximum length.
Parameters:
s:
maxLen:
Usage:
Following call will return 'abc'.
string.cut("abcde", 3)
You can easily pad string to certain length. Example bellow will print 'abcde ' e.g. pad/cut string to 10 characters.
local s = "abcde"
s = string.cut(s .. " ", 10) -- append 10 spaces
echo("'" .. s .. "'")
string.enclose
string.enclose(s, maxlevel)
Enclose string by long brackets.
Parameters:
s:
maxlevel:
string.ends
string.ends(String, Suffix)
Test if string is ending with specified suffix.
Parameters:
String:
Suffix:
See also:
string.starts()
string.findPattern
string.findPattern(text, pattern) Return first matching substring or nil.
Parameters
text: pattern:
Usage: Following example will print: "I did find: Troll" string.
local match = string.findPattern("Troll is here!", "Troll")
if match then
echo("I did find: " .. match)
end
This example will find substring regardless of case.
local match = string.findPattern("Troll is here!", string.genNocasePattern("troll"))
if match then
echo("I did find: " .. match)
end
Return value:
nil or first matching substring
See also:
string.genNocasePattern()
string.genNocasePattern
string.genNocasePattern(s)
Generate case insensitive search pattern from string.
Parameters
s:
Usage: Following example will generate and print "123[aA][bB][cC]" string.
echo(string.genNocasePattern("123abc"))
Return value:
case insensitive pattern string
string.starts
string.starts(String, Prefix) Test if string is starting with specified prefix. Parameters:
String:
Prefix:
See also:
string.ends
string.trim
string.trim (s) Trim string (remove all white spaces around string).
Parameters:
s:
Usage: Example will print 'Troll is here!'.
local str = string.trim(" Troll is here! ")
echo("'" .. str .. "'")
string:split
string:split(delimiter) Splits a string into a table by the given delimiter.
Parameters:
delimiter:
Usage: Split string by ", " delimiter.
names = "Alice, Bob, Peter"
name_table = names:split(", ")
display(name_table)
Previous code will print out:
table {
1: 'Alice'
2: 'Bob'
3: 'Peter'
}
Return value:
array with split strings
string:title
string:title() Capitalize first character in a string.
Usage: Variable testname is now Anna.
testname = string.title("anna")
Example will set test to "Bob".
test = "bob"
test = string.title(test)