|
HSCALE - MySQL Partitioning
|
LUASyntax
Common patterns local withBraces = require("withBraces") if (termA == termB) then someFunction() end Visibility
Variables
Modules and classes
Example of a module local _module = {}
local _myModuleLocalVariable = "Invisible to users"
_module.myPublicVariable = "Visibile to users"
function _module.someFunction()
_myModuleLocalVariable = "Some secret stuff."
_module.myPublicVariable = "Open to everyone"
...
end
return _module
Example of a class local MyClass = {}
MyClass.__index = MyClass
-- Since a file can only contain a single class it is the only thing we export.
_module = MyClass
-- Static function.
MyClass.staticFunction()
end
-- Instance creation.
MyClass.create()
local self = {}
setmetatable(self, Query)
self._memberVariable = "member"
return self
end
MyClass:instanceFunction()
self._memberVariable = "realMember"
end
-- Private functions begin with two underscores.
MyClass:__privateFunction()
end
return _module
Imports / require
Example import local MyClass = require("myClass") local myNormalModule = require("myNormalModule") -- Create an instance. local myInstance = MyClass.create() |