<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://192.168.180.206:8001/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://192.168.180.206:8001/feed.php">
        <title>wiki.niziak.spox.org - programming:lua</title>
        <description></description>
        <link>http://192.168.180.206:8001/</link>
        <image rdf:resource="http://192.168.180.206:8001/_media/wiki:dokuwiki.svg" />
       <dc:date>2026-05-12T22:43:18+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:additional_modules?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:debug?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:math?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:meta?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:modules?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:optimisation?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:patterns?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:protobuf?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:rocks?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:start?rev=1593762661&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:strings?rev=1593762484&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:lua:turbo?rev=1593762484&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://192.168.180.206:8001/_media/wiki:dokuwiki.svg">
        <title>wiki.niziak.spox.org</title>
        <link>http://192.168.180.206:8001/</link>
        <url>http://192.168.180.206:8001/_media/wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:additional_modules?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Package search path</title>
        <link>http://192.168.180.206:8001/programming:lua:additional_modules?rev=1593762484&amp;do=diff</link>
        <description>Package search path

Global variable 

package.path


print (package.path)
./?.lua;/usr/share/luajit-2.0.4/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua



package.path = package.path .. &#039;;scripts/?.lua&#039;</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:debug?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Tracing</title>
        <link>http://192.168.180.206:8001/programming:lua:debug?rev=1593762484&amp;do=diff</link>
        <description>local debuginfo = debug.getinfo (1)
local fnName = debug.getinfo (1,&quot;n&quot;).name


	*  f - returns “func” field
	*  l - returns “currentline” field
	*  L - returns a table whose indices are the numbers of the lines that are valid on the function. (A valid line is a line with some associated code, that is, a line where you can put a break point. Non-valid lines include empty lines and comments.)</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:math?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>http://192.168.180.206:8001/programming:lua:math?rev=1593762484&amp;do=diff</link>
        <description>&lt;https://love2d.org/wiki/General_math&gt;

&lt;https://github.com/kikito/tween.lua&gt;
&lt;https://github.com/EmmanuelOga/easing&gt;

&lt;http://snipplr.com/view/72167/matrix-interpolation/&gt;

&lt;https://searchcode.com/codesearch/view/60252509/&gt;</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:meta?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LUA Metatables</title>
        <link>http://192.168.180.206:8001/programming:lua:meta?rev=1593762484&amp;do=diff</link>
        <description>LUA Metatables

Role of metatables

Metatables can be assigned to LUA tables to describe or change behaviour of operations on LUA tables.
If table has metatable assigned, LUA engine looks for some special fields in metatables if some special events occurs.
For example, if somebody wants to add two tables (system doesn&#039;t know how to add two tables because content is user dependent),
LUA engine looks for special key</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:modules?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>volatile modules</title>
        <link>http://192.168.180.206:8001/programming:lua:modules?rev=1593762484&amp;do=diff</link>
        <description>volatile modules

Use dofile with file name to process file.

Using require makes module names independent from extension, but it creates
reference in package.loaded[&#039;module_name&#039;] table.
Reference is created after loading module, so reference can be destroyed only later,
by call</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:optimisation?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Avoid globals</title>
        <link>http://192.168.180.206:8001/programming:lua:optimisation?rev=1593762484&amp;do=diff</link>
        <description>Lua Performance Tips
What can I do to increase the performance of a Lua program?

Avoid globals

Local variables are very fast as they reside in virtual machine registers, and are accessed directly by index. Global variables on the other hand, reside in a lua table and as such are accessed by a hash lookup.“ -- Thomas Jefferson</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:patterns?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>escape special characters for pattern matching</title>
        <link>http://192.168.180.206:8001/programming:lua:patterns?rev=1593762484&amp;do=diff</link>
        <description>&lt;http://www.lua.org/manual/5.1/manual.html#5.4.1&gt;
&lt;https://www.gammon.com.au/scripts/doc.php?lua=string.find&gt;

escape special characters for pattern matching


pattern = pattern:gsub (&quot;%+&quot;, &quot;%%%+&quot;) -- change &#039;+&#039; to &#039;%+&#039;
pattern = pattern:gsub(&quot;([+%?])&quot;, &quot;%%%1&quot;) -- escape only characters from set
pattern = pattern:gsub(&quot;([^%w])&quot;, &quot;%%%1&quot;) -- escape all non alphanumeric characters</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:protobuf?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Protocol</title>
        <link>http://192.168.180.206:8001/programming:lua:protobuf?rev=1593762484&amp;do=diff</link>
        <description>Protocol

	*  Encoding &lt;https://developers.google.com/protocol-buffers/docs/encoding&gt;
	*  Protocol Buffer Polymorphism &lt;http://www.indelible.org/ink/protobuf-polymorphism/&gt;

tools

&lt;http://yura415.github.io/js-protobuf-encode-decode/&gt;

Libraries

sean-lin based

&lt;https://github.com/sean-lin/protoc-gen-lua&gt;

	*  Latest commit 12 Jun 2014

&lt;https://github.com/djungelorm/protobuf-lua&gt;

	*  Latest commit 26 Jan 2016
	*  Latest fixes &lt;https://github.com/skwerlman/protobuf-lua/tree/patch-1&gt;
	*  Lua ro…</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:rocks?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rock</title>
        <link>http://192.168.180.206:8001/programming:lua:rocks?rev=1593762484&amp;do=diff</link>
        <description>rock

A rock is a bundle containing a specification file (called a “rockspec”) and files providing Lua modules
When packed, a rock is an archive file in ZIP format, with the .rock filename extension. When installed, a rock is unpacked into a directory in the local rocks repository. 
There are several types of rocks, and when packed they are identified by their filename extensions. These are:</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:start?rev=1593762661&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:51:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LUA</title>
        <link>http://192.168.180.206:8001/programming:lua:start?rev=1593762661&amp;do=diff</link>
        <description>LUA

io.stdout:setvbuf &#039;no&#039;  

 see &lt;http://www.lua.org/manual/5.1/manual.html#pdf-file:setvbuf&gt;</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:strings?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Quotes</title>
        <link>http://192.168.180.206:8001/programming:lua:strings?rev=1593762484&amp;do=diff</link>
        <description>Quotes

No difference between &#039; and “. If you want to use &#039; inside string, use ” and vice versa.
Lua handles backslash as escape character:


\a	bell
\b	back space
\f	form feed
\n	newline
\r	carriage return
\t	horizontal tab
\v	vertical tab
\\	backslash
\&quot;	double quote
\&#039;	single quote
\[	left square bracket
\]	right square bracket</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:lua:turbo?rev=1593762484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-03T07:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Turbo LUA</title>
        <link>http://192.168.180.206:8001/programming:lua:turbo?rev=1593762484&amp;do=diff</link>
        <description>Turbo LUA

Getting ioloop instance:


local turbo = require &#039;turbo&#039;
local tio = turbo.ioloop.instance()


There is only one instance at time. Multiple requests always return the same instance.

Always use pcall

For example: if you register periodic action using</description>
    </item>
</rdf:RDF>
