Module:SimpleDebug/doc
![]() | This is a documentation subpage for Module:SimpleDebug. It may contain usage information, categories and other content that is not part of the original module page. |
Contains a functions to help debug the lua modules. It allows to collect and view the values of several variables and/or points in your lua program.
Uses
One or several points to watch | ||
---|---|---|
Variables | ||
Name | Default | |
allidx |
false |
If it is true then also displays the numerical indexes of a table. |
dec |
-1 |
Spaces for the decimals:
|
enabled |
true |
If it is false all calls to the below functions do nothing. |
One point to watch | ||
Functions | ||
function var (avar, where) |
| |
array (anarray, where) |
| |
namearray (anarray, where) |
| |
Several points to watch | ||
Variables | ||
Name | Default | |
s |
The string variable that holds the returned values from the next functions. | |
maxlines.num |
100 |
The maxim number of lines (on calling the next functions). |
maxlines.doerror |
true |
If it is true and |
Functions | ||
breakline () |
Adds a break line in | |
wheretos (where) |
where: a explained point to watch stored in | |
arraytos (anarray, where) |
Equal to | |
namearraytos (anarray, where) |
Equal to |
Examples
One point to watch
local sd = require "Module:SimpleDebug"
sd.dec = 2
return sd.var('Here is reached')
returns:
Here is reached
local sd = require "Module:SimpleDebug"
sd.dec = 2
return sd.var(1/3)
returns:
0.33
local sd = require "Module:SimpleDebug"
local a = {{1,2,3},{4,5,6},{7,8,9}}
return sd.var(a)
returns:
{ { 1, 2, 3, } , { 4, 5, 6, } , { 7, 8, 9, } , }
local sd = require "Module:SimpleDebug"
local a = {{First=1,2,3},{4,Second=5,6},{7,8,9}}
return sd.var(a)
returns:
{ { 2, 3, [First]=1, } , { 4, 6, [Second]=5, } , { 7, 8, 9, } , }
local sd = require "Module:SimpleDebug"
SD.allidx = true
local a = {{1,2,3},{4,5,6},{7,8,9}}
return sd.var(a)
returns:
{ [1]={ [1]=1, [2]=2, [3]=3, } , [2]={ [1]=4, [2]=5, [3]=6, } , [3]={ [1]=7, [2]=8, [3]=9, } , }
Usually, you implement these functions with error function:
local sd = require "Module:SimpleDebug"
local a = {{1,2,3},{4,5,6},{7,8,9}}
error (sd.var(a))
displays:
Lua error:Module:YourModule:Line:{ { 1, 2, 3, } , { 4, 5, 6, } , { 7, 8, 9, } , }
local sd = require "Module:SimpleDebug"
local a = 12
local b = 'Hello'
return sd.array ({a,b})
returns:
12 - "Hello"
local sd = require "Module:SimpleDebug"
local a = 12
local b = 'Hello'
return sd.namearray ({'a',a,'b',b})
returns:
a: 12 - b: "Hello"
Several points to watch
local sd = require "Module:SimpleDebug"
a = 12
b = 'Hello'
sd.arraytos ({a,b},1)
a = a + a
b = b..' world!'
sd.arraytos ({'a',a,'b',b},'Finally')
return sd.s
returns:
1 => 12 - "Hello"
Finally => 24 - "Hello world!"
local sd = require "Module:SimpleDebug"
sd.breakline ()
a = 12
b = 'Hello'
c = false
sd.namearraytos ({'a',a,'b',b,'c',c},1)
a = a + a
b = b..' world!'
sd.namearraytos ({'a',a,'b',b},'Finally')
error (sd.s)
displays:
Lua error:Module:YourModule:Line:
1 => a: 12 - b: "Hello" - c: false
Finally => a: 24 - b: "Hello world!"
local sd = require "Module:SimpleDebug"
sd.breakline()
sd.enabled = false
sd.maxlines.num = 3
local a = 'AA'
for i = 1, 10 do
a = a + 'AA'
if i == 3 then
sd.enabled = true
end
sd.arraytos ({string.len(a), a}, i)
end
displays:
Lua error:Module:YourModule:Line:
3 => 8 - "AAAAAAAA"
4 => 10 - "AAAAAAAAAA"
5 => 12 - "AAAAAAAAAAAA".