highlight.lua

#!/usr/bin/env lua
-- Metatables
t = {
 __add=function(a,b)return a+b end,
 __sub=function(a,b)return a-b end,
 __mul=function(a,b)return a*b end,
 __div=function(a,b)return a/b end,
 __mod=function(a,b)return a%b end,
 __pow=function(a,b)return a^b end,
 __unm=function(a)return -a end,
 __idiv=function(a,b)return a//b end,
 __band=function(a,b)return a&b end,
 __bor=function(a,b)return a|b end,
 __bxor=function(a,b)return a~b end,
 __bnot=function(a)return ~a end,
 __shl=function(a,b)return a<<b end,
 __shr=function(a,b)return a>>b end,
 __concat=function(a,b)return a..b end,
 __len=function(a)return #a end,
 __eq=function(a,b)return a==b end,
 __lt=function(a,b)return a<b end,
 __le=function(a,b)return a<=b end,
 __index=function(t,k)return t[k] end,
 __newindex=function(t,k,v)return t[k]=v end,
 __call=function(f, ...)return f(...) end,
 __tostring=function(a)return tostring(a) end,
 __pairs=function(t)return pairs(a) end,
 -- setmetatable
 __metatable=true
 -- Garbage collector
 __gc=function() end
 -- Weak table
 __mode='k' -- or 'v'
}
a or b
a and b
a~=b
a>=b
true or false
a or nil
a::m
a.m
a;a
-- String
'\a'
'\b'
'\f'
'\n'
'\r'
'\t'
'\v'
'\\'
'\"'
'\''
'\z'
'\xff'
'\xFF'
'231円'
'23円'
'2円'
'\u{100201}' -- max 6 digits
'2円a\ks' -- error
'multi\
line'
'multi\z
line'
'multi\z line\
2'
a = 'alo\n123"'
a = "alo\n123\""
a = '97円lo10円049円23"'
a = [[alo
123"]]
a = [==[
alo
123"]==]
-- unclosed string
str = 'bla
-- oups :(
str = 'bla
str = 'bla
-- the comment hides the error
str = 'bla
-value + 2
-- Decimal
3
345
0xff
0xBEBADA
-- Float
3.
.3
3.0
3.1416
314.16e-2
314.e+2
0.31416E1
34e1
0.e3
0x0.1E
0xA23p-4
0xA.p+4
0x.ap4
0X1.921FB54442D18P+1
-- error
32p
0xp-4
0x.p-4
3.x
-- single comment
xyz()
--[[
 long comment
]]
xyz()
-- TODO bla bla
--[[ TODO bla bla ]]
a = { [f(1)] = g; "x", "y"; x = 1, f(x), [30] = 23; 45 }
-- is equivalent to
do
 local t = {}
 t[f(1)] = g
 t[1] = "x" -- 1st exp
 t[2] = "y" -- 2nd exp
 t.x = 1 -- t["x"] = 1
 t[3] = f(x) -- 3rd exp
 t[30] = 23
 t[4] = 45 -- 4th exp
 a = t
end
32-0x43+0x2-5
return"a"
return'a'
return{}
f(3)
f'a'
f"a"
f{s=2}
f[[s]]
f[=[s]=]
#a
local CONSTANT = a
a = {}
local x = 20
for i=1,10 do
 local y = 0
 a[i] = function () y=y+1; return x+y end
end
local function foo()
end
function obj:foo()
 print(self:bar())
end
function obj.bar(self)
 print(self)
 print(self.value)
end
--! \brief gfind is deprecated
string.gfind('s')
string.gmatch('f')
function foo()
 if x then
 function() end
 bar=function()
 if y then
 if z then end
 end
 end
 end
end
-- attributes
local a<const> = 2
local a<const> print(a)
local f <close>, const < const>
local a <cloe>, b< cons>, c<const, d<close> ; a<b
local a <cloe> -- bla, 
b< cons >
local a <close> --[[
b <const>]], b <const> --[[ xyz ]] , c <close>
b< cons >
--- \code
--! a = 3
--!\endcode
a = 3

AltStyle によって変換されたページ (->オリジナル) /