Difference between revisions of "Tabletolua"

From OpenEUO
Jump to: navigation, search
(Created page with "== Calling Pattern == Call local b = sl.tabletolua(a) Args a is a table Results b is a string, compatible with the lua parser == Usage Example == local a = {[3.14] = 0.7071...")
 
m (See Also)
 
(One intermediate revision by the same user not shown)
Line 25: Line 25:
 
== Description ==
 
== Description ==
  
Encodes a table as a sequence of characters compatible with the lua dostring command. Table keys and values may be composed of boolean,numeric,string, and table types. Does not encode any associated metatables.  Uses string.format on string values to ensure proper encoding of escape characters (though may not have desired effect on non-visible control characters).
+
Encodes a table as a sequence of characters compatible with the lua [[dostring]] command. Table keys and values may be composed of boolean,numeric,string, and table types. Does not encode any associated metatables.  Uses string.format on string values to ensure proper encoding of escape characters (though may not have desired effect on non-visible control characters).
  
 
== Upon Error ==
 
== Upon Error ==
Line 34: Line 34:
  
 
* [[dostring]]
 
* [[dostring]]
 +
 +
* [[exkeyvalstr]]
 +
 +
* [[keys]]
 +
 +
* [[keystr]]
 +
 +
* [[keyvalstr]]
  
 
* [[str|string table]]
 
* [[str|string table]]

Latest revision as of 17:41, 8 January 2011

Calling Pattern

Call

local b = sl.tabletolua(a)

Args

a is a table

Results

b is a string, compatible with the lua parser

Usage Example

local a = {[3.14] = 0.7071, [' una ']=1, test='Some "random" string.'}
local b = sl.tabletolua(a)
local c = dostring('return '..b)
print(b,'\013\010')
print(sl.keyvalstr(c))
--> {[" una "] = 1,["test"] = "Some \"random\" string.",[3.14] = 0.7071,}

    table keys:values = {
     una :1,
    test:Some "random" string.,
    3.14:0.7071,
    }

Description

Encodes a table as a sequence of characters compatible with the lua dostring command. Table keys and values may be composed of boolean,numeric,string, and table types. Does not encode any associated metatables. Uses string.format on string values to ensure proper encoding of escape characters (though may not have desired effect on non-visible control characters).

Upon Error

Tabletolua fails silently. Improper types are encoded as strings of value 'ERROR'. If tabletolua receives no argument or a non-table argument, then '' (an empty string) is returned.

See Also