Difference between revisions of "Debug.settypemt"
From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>") |
|||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
| − | '''Available since:''' Gideros 2016.08<br/> | + | <languages /> |
| − | === Description === | + | '''<translate>Available since</translate>:''' Gideros 2016.08<br/> |
| + | '''<translate>Class</translate>:''' [[Special:MyLanguage/debug|debug]]<br/> | ||
| + | === <translate>Description</translate> === | ||
<translate>Set meta table type | <translate>Set meta table type | ||
| Line 20: | Line 22: | ||
</code></pre> | </code></pre> | ||
Also sets table library as default type metatable for all tables without user defined metatables i.e. enables following syntax: t:insert(3); t:remove(2); t:sort(func); etc.</translate> | Also sets table library as default type metatable for all tables without user defined metatables i.e. enables following syntax: t:insert(3); t:remove(2); t:sort(func); etc.</translate> | ||
| − | < | + | <syntaxhighlight lang="lua"> |
debug.settypemt() | debug.settypemt() | ||
| − | </ | + | </syntaxhighlight> |
| + | |||
| + | {{Debug}} | ||
Latest revision as of 15:26, 13 July 2023
Available since: Gideros 2016.08
Class: debug
Description
Set meta table type
From http://lua-users.org/wiki/LuaPowerPatches Useful to extend Lua syntax and for some tricks.
Adds new method to debug library: debug.settypemt(type, metatable) Supported types: "nil","boolean","lightuserdata","number","string","table","function","userdata","thread".
For example:
<code>
-- enable string indexing (s[n]) to get character at utf8 position
string.__index = function(s, n) return utf8.sub(s, n, n) end
debug.settypemt("string", string)
local s = "Hello, world!"
print(s[8]) --> w
</code>
Also sets table library as default type metatable for all tables without user defined metatables i.e. enables following syntax: t:insert(3); t:remove(2); t:sort(func); etc.
debug.settypemt()