Module pl.pretty
Pretty-printing Lua tables.
Also provides a sandboxed Lua table reader and a function to present large numbers in human-friendly format.
Dependencies: pl.utils, pl.lexer, pl.stringx, debug
Functions
| read (s) | Read a string representation of a Lua table. | 
| load (s[, env[, paranoid]]) | Read a Lua chunk. | 
| write (tbl[, space[, not_clever]]) | Create a string representation of a Lua table. | 
| dump (t[, filename]) | Dump a Lua table out to a file or stdout. | 
| debug (...) | Dump a series of arguments to stdout for debug purposes. | 
| number (num[, kind[, prec]]) | Format large numbers nicely for human consumption. | 
Functions
- read (s)
- 
    Read a string representation of a Lua table.
 This function loads and runs the string as Lua code, but bails out
 if it contains a function definition.
 Loaded string is executed in an empty environment.
    Parameters:- s
            string
         string to read in {...}format, possibly with some whitespace before or after the curly braces. A single line comment may be present at the beginning.
 Returns:- 
         a table in case of success.
 If loading the string failed, return 
 niland error message. If executing loaded string failed, returnniland the error it raised.
- s
            string
         string to read in 
- load (s[, env[, paranoid]])
- 
    Read a Lua chunk.
    Parameters:- s string Lua code.
- env table environment used to run the code, empty by default. (optional)
- paranoid boolean abort loading if any looping constructs a found in the code and disable string methods. (optional)
 Returns:- 
        the environment in case of success or 
 niland syntax or runtime error if something went wrong.
- write (tbl[, space[, not_clever]])
- 
    Create a string representation of a Lua table.
 This function never fails, but may complain by returning an
 extra value. Normally puts out one item per line, using
 the provided indent; set the second parameter to an empty string
 if you want output on one line.
NOTE: this is NOT a serialization function, not a full blown debug function. Checkout out respectively the serpent or inspect Lua modules for that if you need them. Parameters:- tbl table Table to serialize to a string.
- space string The indent to use. Defaults to two spaces; pass an empty string for no indentation. (optional)
- not_clever
            boolean
         Pass truefor plain output, e.g{['key']=1}. Defaults tofalse. (optional)
 Returns:- a string
- an optional error message
 
- dump (t[, filename])
- 
    Dump a Lua table out to a file or stdout.
    Parameters:
- debug (...)
- 
    Dump a series of arguments to stdout for debug purposes.
 This function is attached to the module table __callmethod, to make it extra easy to access. So the full:print(require("pl.pretty").write({...}))Can be shortened to: require"pl.pretty" (...)Any nilentries will be printed as"<nil>"to make them explicit.Parameters:- ... the parameters to dump to stdout.
 Usage:-- example debug output require"pl.pretty" ("hello", nil, "world", { bye = "world", true} ) -- output: { ["arg 1"] = "hello", ["arg 2"] = "<nil>", ["arg 3"] = "world", ["arg 4"] = { true, bye = "world" } } 
- number (num[, kind[, prec]])
- 
    Format large numbers nicely for human consumption.
    Parameters: