File indexing completed on 2024-05-19 04:03:36

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