File indexing completed on 2024-05-12 04:02:07

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.lua</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Lua) - Theme (Breeze Light)"/>
0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
0007 <span style="color:#898887">#!/usr/bin/env lua</span>
0008 
0009 <span style="color:#898887">-- Metatables</span>
0010 <span style="color:#0057ae">t</span> <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">{</span>
0011     <span style="color:#644a9b;font-weight:bold">__add</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">+</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0012     <span style="color:#644a9b;font-weight:bold">__sub</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">-</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0013     <span style="color:#644a9b;font-weight:bold">__mul</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">*</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0014     <span style="color:#644a9b;font-weight:bold">__div</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">/</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0015     <span style="color:#644a9b;font-weight:bold">__mod</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">%</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0016     <span style="color:#644a9b;font-weight:bold">__pow</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">^</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0017     <span style="color:#644a9b;font-weight:bold">__unm</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#ca60ca">-</span><span style="color:#0057ae">a</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0018     <span style="color:#644a9b;font-weight:bold">__idiv</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">//</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0019     <span style="color:#644a9b;font-weight:bold">__band</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">&amp;</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0020     <span style="color:#644a9b;font-weight:bold">__bor</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">|</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0021     <span style="color:#644a9b;font-weight:bold">__bxor</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">~</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0022     <span style="color:#644a9b;font-weight:bold">__bnot</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#ca60ca">~</span><span style="color:#0057ae">a</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0023     <span style="color:#644a9b;font-weight:bold">__shl</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">&lt;&lt;</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0024     <span style="color:#644a9b;font-weight:bold">__shr</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">>></span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0025     <span style="color:#644a9b;font-weight:bold">__concat</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">..</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0026     <span style="color:#644a9b;font-weight:bold">__len</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#ca60ca">#</span><span style="color:#0057ae">a</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0027     <span style="color:#644a9b;font-weight:bold">__eq</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">==</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0028     <span style="color:#644a9b;font-weight:bold">__lt</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">&lt;</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0029     <span style="color:#644a9b;font-weight:bold">__le</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">&lt;=</span><span style="color:#0057ae">b</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0030     <span style="color:#644a9b;font-weight:bold">__index</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">t</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">k</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">t</span><span style="color:#ca60ca">[</span><span style="color:#0057ae">k</span><span style="color:#ca60ca">]</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0031     <span style="color:#644a9b;font-weight:bold">__newindex</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">t</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">k</span><span style="color:#ca60ca">,</span><span style="color:#0057ae">v</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#0057ae">t</span><span style="color:#ca60ca">[</span><span style="color:#0057ae">k</span><span style="color:#ca60ca">]=</span><span style="color:#0057ae">v</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0032     <span style="color:#644a9b;font-weight:bold">__call</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">f</span><span style="color:#ca60ca">,</span> <span style="color:#ca60ca">...)</span><span style="font-weight:bold">return</span> f<span style="color:#ca60ca">(...)</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0033 
0034    <span style="color:#644a9b;font-weight:bold">__tostring</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#644a9b">tostring</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">)</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0035    <span style="color:#644a9b;font-weight:bold">__pairs</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">t</span><span style="color:#ca60ca">)</span><span style="font-weight:bold">return</span> <span style="color:#644a9b">pairs</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">)</span> <span style="font-weight:bold">end</span><span style="color:#ca60ca">,</span>
0036    <span style="color:#898887">-- setmetatable</span>
0037    <span style="color:#644a9b;font-weight:bold">__metatable</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">true</span>
0038    <span style="color:#898887">-- Garbage collector</span>
0039    <span style="color:#644a9b;font-weight:bold">__gc</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">()</span> <span style="font-weight:bold">end</span>
0040    <span style="color:#898887">-- Weak table</span>
0041    <span style="color:#644a9b;font-weight:bold">__mode</span><span style="color:#ca60ca">=</span><span style="color:#bf0303">'k'</span> <span style="color:#898887">-- or 'v'</span>
0042 <span style="color:#ca60ca">}</span>
0043 
0044 <span style="color:#0057ae">a</span> <span style="font-weight:bold">or</span> <span style="color:#0057ae">b</span>
0045 <span style="color:#0057ae">a</span> <span style="font-weight:bold">and</span> <span style="color:#0057ae">b</span>
0046 <span style="color:#0057ae">a</span><span style="color:#ca60ca">~=</span><span style="color:#0057ae">b</span>
0047 <span style="color:#0057ae">a</span><span style="color:#ca60ca">>=</span><span style="color:#0057ae">b</span>
0048 <span style="font-weight:bold">true</span> <span style="font-weight:bold">or</span> <span style="font-weight:bold">false</span>
0049 <span style="color:#0057ae">a</span> <span style="font-weight:bold">or</span> <span style="font-weight:bold">nil</span>
0050 <span style="color:#0057ae">a</span><span style="color:#ca60ca">::</span><span style="color:#0057ae">m</span>
0051 <span style="color:#0057ae">a</span><span style="color:#ca60ca">.</span><span style="color:#0057ae">m</span>
0052 <span style="color:#0057ae">a</span><span style="color:#ca60ca">;</span><span style="color:#0057ae">a</span>
0053 
0054 
0055 <span style="color:#898887">-- String</span>
0056 <span style="color:#bf0303">'</span><span style="color:#3daee9">\a</span><span style="color:#bf0303">'</span>
0057 <span style="color:#bf0303">'</span><span style="color:#3daee9">\b</span><span style="color:#bf0303">'</span>
0058 <span style="color:#bf0303">'</span><span style="color:#3daee9">\f</span><span style="color:#bf0303">'</span>
0059 <span style="color:#bf0303">'</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">'</span>
0060 <span style="color:#bf0303">'</span><span style="color:#3daee9">\r</span><span style="color:#bf0303">'</span>
0061 <span style="color:#bf0303">'</span><span style="color:#3daee9">\t</span><span style="color:#bf0303">'</span>
0062 <span style="color:#bf0303">'</span><span style="color:#3daee9">\v</span><span style="color:#bf0303">'</span>
0063 <span style="color:#bf0303">'</span><span style="color:#3daee9">\\</span><span style="color:#bf0303">'</span>
0064 <span style="color:#bf0303">'</span><span style="color:#3daee9">\"</span><span style="color:#bf0303">'</span>
0065 <span style="color:#bf0303">'</span><span style="color:#3daee9">\'</span><span style="color:#bf0303">'</span>
0066 <span style="color:#bf0303">'</span><span style="color:#3daee9">\z</span><span style="color:#bf0303">'</span>
0067 <span style="color:#bf0303">'</span><span style="color:#3daee9">\xff</span><span style="color:#bf0303">'</span>
0068 <span style="color:#bf0303">'</span><span style="color:#3daee9">\xFF</span><span style="color:#bf0303">'</span>
0069 <span style="color:#bf0303">'</span><span style="color:#3daee9">\231</span><span style="color:#bf0303">'</span>
0070 <span style="color:#bf0303">'</span><span style="color:#3daee9">\23</span><span style="color:#bf0303">'</span>
0071 <span style="color:#bf0303">'</span><span style="color:#3daee9">\2</span><span style="color:#bf0303">'</span>
0072 <span style="color:#bf0303">'</span><span style="color:#3daee9">\u{100201}</span><span style="color:#bf0303">'</span> <span style="color:#898887">-- max 6 digits</span>
0073 <span style="color:#bf0303">'</span><span style="color:#3daee9">\2</span><span style="color:#bf0303">a</span><span style="color:#bf0303;text-decoration:underline">\</span><span style="color:#bf0303">ks'</span> <span style="color:#898887">-- error</span>
0074 
0075 <span style="color:#bf0303">'multi</span><span style="color:#3daee9">\</span>
0076 <span style="color:#bf0303">line'</span>
0077 <span style="color:#bf0303">'multi</span><span style="color:#3daee9">\z</span>
0078 <span style="color:#bf0303">line'</span>
0079 <span style="color:#bf0303">'multi</span><span style="color:#3daee9">\z</span><span style="color:#bf0303">    line</span><span style="color:#3daee9">\</span>
0080 <span style="color:#bf0303">2'</span>
0081 
0082 <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">'alo</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">123"'</span>
0083 <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"alo</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">123</span><span style="color:#3daee9">\"</span><span style="color:#bf0303">"</span>
0084 <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">'</span><span style="color:#3daee9">\97</span><span style="color:#bf0303">lo</span><span style="color:#3daee9">\10\049</span><span style="color:#bf0303">23"'</span>
0085 <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#e31616">[[alo</span>
0086 <span style="color:#e31616">123"]]</span>
0087 <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#e31616">[==[</span>
0088 <span style="color:#e31616">alo</span>
0089 <span style="color:#e31616">123"]==]</span>
0090 
0091 
0092 <span style="color:#898887">-- Decimal</span>
0093 <span style="color:#b08000">3</span>
0094 <span style="color:#b08000">345</span>
0095 <span style="color:#b08000">0xff</span>
0096 <span style="color:#b08000">0xBEBADA</span>
0097 
0098 <span style="color:#898887">-- Float</span>
0099 <span style="color:#b08000">3.</span>
0100 <span style="color:#b08000">.3</span>
0101 <span style="color:#b08000">3.0</span>
0102 <span style="color:#b08000">3.1416</span>
0103 <span style="color:#b08000">314.16e-2</span>
0104 <span style="color:#b08000">314.e+2</span>
0105 <span style="color:#b08000">0.31416E1</span>
0106 <span style="color:#b08000">34e1</span>
0107 <span style="color:#b08000">0.e3</span>
0108 <span style="color:#b08000">0x0.1E</span>
0109 <span style="color:#b08000">0xA23p-4</span>
0110 <span style="color:#b08000">0xA.p+4</span>
0111 <span style="color:#b08000">0x.ap4</span>
0112 <span style="color:#b08000">0X1.921FB54442D18P+1</span>
0113 <span style="color:#898887">-- error</span>
0114 <span style="color:#b08000">32</span><span style="color:#bf0303;text-decoration:underline">p</span>
0115 <span style="color:#b08000">0</span><span style="color:#bf0303;text-decoration:underline">xp</span><span style="color:#ca60ca">-</span><span style="color:#b08000">4</span>
0116 <span style="color:#b08000">0</span><span style="color:#bf0303;text-decoration:underline">x</span><span style="color:#ca60ca">.</span><span style="color:#0057ae">p</span><span style="color:#ca60ca">-</span><span style="color:#b08000">4</span>
0117 <span style="color:#b08000">3.</span><span style="color:#bf0303;text-decoration:underline">x</span>
0118 
0119 
0120 <span style="color:#898887">-- single comment</span>
0121 xyz<span style="color:#ca60ca">()</span>
0122 <span style="color:#898887">--[[</span>
0123 <span style="color:#898887"> long comment</span>
0124 <span style="color:#898887">]]</span>
0125 xyz<span style="color:#ca60ca">()</span>
0126 
0127 <span style="color:#898887">-- </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span><span style="color:#898887"> bla bla</span>
0128 <span style="color:#898887">--[[ </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span><span style="color:#898887"> bla bla ]]</span>
0129 
0130 <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">{</span> <span style="color:#ca60ca">[</span>f<span style="color:#ca60ca">(</span><span style="color:#b08000">1</span><span style="color:#ca60ca">)]</span> <span style="color:#ca60ca">=</span> <span style="color:#0057ae">g</span><span style="color:#ca60ca">;</span> <span style="color:#bf0303">"x"</span><span style="color:#ca60ca">,</span> <span style="color:#bf0303">"y"</span><span style="color:#ca60ca">;</span> <span style="color:#0057ae">x</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">1</span><span style="color:#ca60ca">,</span> f<span style="color:#ca60ca">(</span><span style="color:#0057ae">x</span><span style="color:#ca60ca">),</span> <span style="color:#ca60ca">[</span><span style="color:#b08000">30</span><span style="color:#ca60ca">]</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">23</span><span style="color:#ca60ca">;</span> <span style="color:#b08000">45</span> <span style="color:#ca60ca">}</span>
0131 
0132 <span style="color:#898887">-- is equivalent to</span>
0133 
0134 <span style="font-weight:bold">do</span>
0135   <span style="font-weight:bold">local</span> <span style="color:#0057ae">t</span> <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">{}</span>
0136   <span style="color:#0057ae">t</span><span style="color:#ca60ca">[</span>f<span style="color:#ca60ca">(</span><span style="color:#b08000">1</span><span style="color:#ca60ca">)]</span> <span style="color:#ca60ca">=</span> <span style="color:#0057ae">g</span>
0137   <span style="color:#0057ae">t</span><span style="color:#ca60ca">[</span><span style="color:#b08000">1</span><span style="color:#ca60ca">]</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"x"</span> <span style="color:#898887">-- 1st exp</span>
0138   <span style="color:#0057ae">t</span><span style="color:#ca60ca">[</span><span style="color:#b08000">2</span><span style="color:#ca60ca">]</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"y"</span> <span style="color:#898887">-- 2nd exp</span>
0139   <span style="color:#0057ae">t</span><span style="color:#ca60ca">.</span><span style="color:#0057ae">x</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">1</span> <span style="color:#898887">-- t["x"] = 1</span>
0140   <span style="color:#0057ae">t</span><span style="color:#ca60ca">[</span><span style="color:#b08000">3</span><span style="color:#ca60ca">]</span> <span style="color:#ca60ca">=</span> f<span style="color:#ca60ca">(</span><span style="color:#0057ae">x</span><span style="color:#ca60ca">)</span> <span style="color:#898887">-- 3rd exp</span>
0141   <span style="color:#0057ae">t</span><span style="color:#ca60ca">[</span><span style="color:#b08000">30</span><span style="color:#ca60ca">]</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">23</span>
0142   <span style="color:#0057ae">t</span><span style="color:#ca60ca">[</span><span style="color:#b08000">4</span><span style="color:#ca60ca">]</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">45</span> <span style="color:#898887">-- 4th exp</span>
0143   <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#0057ae">t</span>
0144 <span style="font-weight:bold">end</span>
0145 
0146 <span style="color:#b08000">32</span><span style="color:#ca60ca">-</span><span style="color:#b08000">0x43</span><span style="color:#ca60ca">+</span><span style="color:#b08000">0x2</span><span style="color:#ca60ca">-</span><span style="color:#b08000">5</span>
0147 <span style="font-weight:bold">return</span><span style="color:#bf0303">"a"</span>
0148 <span style="font-weight:bold">return</span><span style="color:#bf0303">'a'</span>
0149 <span style="font-weight:bold">return</span><span style="color:#ca60ca">{}</span>
0150 f<span style="color:#ca60ca">(</span><span style="color:#b08000">3</span><span style="color:#ca60ca">)</span>
0151 f<span style="color:#bf0303">'a'</span>
0152 f<span style="color:#bf0303">"a"</span>
0153 f<span style="color:#ca60ca">{</span><span style="color:#0057ae">s</span><span style="color:#ca60ca">=</span><span style="color:#b08000">2</span><span style="color:#ca60ca">}</span>
0154 f<span style="color:#e31616">[[s]]</span>
0155 f<span style="color:#e31616">[=[s]=]</span>
0156 <span style="color:#ca60ca">#</span><span style="color:#0057ae">a</span>
0157 
0158 <span style="font-weight:bold">local</span> <span style="color:#aa5500">CONSTANT</span> <span style="color:#ca60ca">=</span> <span style="color:#0057ae">a</span>
0159 
0160 <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#ca60ca">{}</span>
0161 <span style="font-weight:bold">local</span> <span style="color:#0057ae">x</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">20</span>
0162 <span style="font-weight:bold">for</span> <span style="color:#0057ae">i</span><span style="color:#ca60ca">=</span><span style="color:#b08000">1</span><span style="color:#ca60ca">,</span><span style="color:#b08000">10</span> <span style="font-weight:bold">do</span>
0163   <span style="font-weight:bold">local</span> <span style="color:#0057ae">y</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">0</span>
0164   <span style="color:#0057ae">a</span><span style="color:#ca60ca">[</span><span style="color:#0057ae">i</span><span style="color:#ca60ca">]</span> <span style="color:#ca60ca">=</span> <span style="font-weight:bold">function</span> <span style="color:#ca60ca">()</span> <span style="color:#0057ae">y</span><span style="color:#ca60ca">=</span><span style="color:#0057ae">y</span><span style="color:#ca60ca">+</span><span style="color:#b08000">1</span><span style="color:#ca60ca">;</span> <span style="font-weight:bold">return</span> <span style="color:#0057ae">x</span><span style="color:#ca60ca">+</span><span style="color:#0057ae">y</span> <span style="font-weight:bold">end</span>
0165 <span style="font-weight:bold">end</span>
0166 
0167 <span style="font-weight:bold">local</span> <span style="font-weight:bold">function</span> foo<span style="color:#ca60ca">()</span>
0168 <span style="font-weight:bold">end</span>
0169 
0170 <span style="font-weight:bold">function</span> <span style="color:#0057ae">obj</span><span style="color:#ca60ca">:</span>foo<span style="color:#ca60ca">()</span>
0171   <span style="color:#644a9b">print</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">self</span><span style="color:#ca60ca">:</span>bar<span style="color:#ca60ca">())</span>
0172 <span style="font-weight:bold">end</span>
0173 
0174 <span style="font-weight:bold">function</span> <span style="color:#0057ae">obj</span><span style="color:#ca60ca">.</span>bar<span style="color:#ca60ca">(</span><span style="color:#0057ae">self</span><span style="color:#ca60ca">)</span>
0175   <span style="color:#644a9b">print</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">self</span><span style="color:#ca60ca">)</span>
0176   <span style="color:#644a9b">print</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">self</span><span style="color:#ca60ca">.</span><span style="color:#0057ae">value</span><span style="color:#ca60ca">)</span>
0177 <span style="font-weight:bold">end</span>
0178 
0179 <span style="color:#898887">--! </span><span style="color:#ca60ca;font-weight:bold">\brief</span><span style="color:#898887"> gfind is deprecated</span>
0180 <span style="color:#bf0303;text-decoration:underline">string.gfind</span><span style="color:#ca60ca">(</span><span style="color:#bf0303">'s'</span><span style="color:#ca60ca">)</span>
0181 <span style="color:#644a9b">string.gmatch</span><span style="color:#ca60ca">(</span><span style="color:#bf0303">'f'</span><span style="color:#ca60ca">)</span>
0182 
0183 <span style="font-weight:bold">function</span> foo<span style="color:#ca60ca">()</span>
0184   <span style="font-weight:bold">if</span> <span style="color:#0057ae">x</span> <span style="font-weight:bold">then</span>
0185     <span style="font-weight:bold">function</span><span style="color:#ca60ca">()</span> <span style="font-weight:bold">end</span>
0186     <span style="color:#0057ae">bar</span><span style="color:#ca60ca">=</span><span style="font-weight:bold">function</span><span style="color:#ca60ca">()</span>
0187       <span style="font-weight:bold">if</span> <span style="color:#0057ae">y</span> <span style="font-weight:bold">then</span>
0188         <span style="font-weight:bold">if</span> <span style="color:#0057ae">z</span> <span style="font-weight:bold">then</span> <span style="font-weight:bold">end</span>
0189       <span style="font-weight:bold">end</span>
0190     <span style="font-weight:bold">end</span>
0191   <span style="font-weight:bold">end</span>
0192 <span style="font-weight:bold">end</span>
0193 
0194 <span style="color:#898887">-- attributes</span>
0195 <span style="font-weight:bold">local</span> <span style="color:#0057ae">a</span><span style="color:#0057ae">&lt;const></span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">2</span>
0196 <span style="font-weight:bold">local</span> <span style="color:#0057ae">a</span><span style="color:#0057ae">&lt;const></span> <span style="color:#644a9b">print</span><span style="color:#ca60ca">(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">)</span>
0197 <span style="font-weight:bold">local</span> <span style="color:#0057ae">f</span> <span style="color:#0057ae">&lt;close></span><span style="color:#ca60ca">,</span> <span style="color:#0057ae">const</span> <span style="color:#0057ae">&lt;    const ></span>
0198 <span style="font-weight:bold">local</span> <span style="color:#0057ae">a</span> <span style="color:#bf0303;text-decoration:underline">&lt;cloe></span><span style="color:#ca60ca">,</span> <span style="color:#0057ae">b</span><span style="color:#bf0303;text-decoration:underline">&lt; cons ></span><span style="color:#ca60ca">,</span> <span style="color:#0057ae">c</span><span style="color:#bf0303;text-decoration:underline">&lt;const</span><span style="color:#ca60ca">,</span> <span style="color:#0057ae">d</span><span style="color:#0057ae">&lt;close></span> <span style="color:#ca60ca">;</span> <span style="color:#0057ae">a</span><span style="color:#ca60ca">&lt;</span><span style="color:#0057ae">b</span>
0199 <span style="font-weight:bold">local</span> <span style="color:#0057ae">a</span> <span style="color:#bf0303;text-decoration:underline">&lt;cloe></span> <span style="color:#898887">-- bla, </span>
0200 <span style="color:#0057ae">b</span><span style="color:#ca60ca">&lt;</span> <span style="color:#0057ae">cons</span> <span style="color:#ca60ca">></span>
0201 <span style="font-weight:bold">local</span> <span style="color:#0057ae">a</span> <span style="color:#0057ae">&lt;close></span> <span style="color:#898887">--[[</span>
0202 <span style="color:#898887">b &lt;const>]]</span><span style="color:#ca60ca">,</span> <span style="color:#0057ae">b</span> <span style="color:#0057ae">&lt;const></span> <span style="color:#898887">--[[ xyz ]]</span> <span style="color:#ca60ca">,</span> <span style="color:#0057ae">c</span> <span style="color:#0057ae">&lt;close></span>
0203 <span style="color:#0057ae">b</span><span style="color:#ca60ca">&lt;</span> <span style="color:#0057ae">cons</span> <span style="color:#ca60ca">></span>
0204 
0205 <span style="color:#898887">--- </span><span style="color:#ca60ca;font-weight:bold">\code</span>
0206 <span style="color:#898887">--!</span><span style="color:#898887"> a = 3</span>
0207 <span style="color:#898887">--!</span><span style="color:#898887"> </span><span style="color:#ca60ca;font-weight:bold">\endcode</span>
0208 <span style="color:#0057ae">a</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">3</span>
0209 </pre></body></html>