Difference between revisions of "Manual:Lua Functions"

From Mudlet
Jump to navigation Jump to search
Line 70: Line 70:
 
Usage:
 
Usage:
 
Following example will print: "I did find: Troll" string.
 
Following example will print: "I did find: Troll" string.
 +
<syntaxhighlight>
 
     local match = string.findPattern("Troll is here!", "Troll")
 
     local match = string.findPattern("Troll is here!", "Troll")
 
     if match then
 
     if match then
 
     echo("I did find: " .. match)
 
     echo("I did find: " .. match)
 
     end
 
     end
 +
</syntaxhighlight>
 
This example will find substring regardless of case.
 
This example will find substring regardless of case.
 
     local match = string.findPattern("Troll is here!", string.genNocasePattern("troll"))
 
     local match = string.findPattern("Troll is here!", string.genNocasePattern("troll"))
Line 84: Line 86:
  
 
See also:
 
See also:
     [[Manual:Lua_Functions#string.genNocasePattern|string.genNocasePattern()]]  
+
     [[Manual:Lua_Functions#string.genNocasePattern|string.genNocasePattern()]]
  
 
==string.genNocasePattern==
 
==string.genNocasePattern==

Revision as of 14:40, 26 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)

Scripting Object Functions

Mapper Functions

Miscellaneous Functions