Difference between revisions of "Debug.sethook"
From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>") |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | '''Available since:''' Gideros 2011.6<br/> | + | <languages /> |
− | === Description === | + | '''<translate>Available since</translate>:''' Gideros 2011.6<br/> |
− | Sets the given function as a hook. The string mask and the number count describe when the hook will be called. The string mask may have the following characters, with the given meaning: | + | '''<translate>Class</translate>:''' [[Special:MyLanguage/debug|debug]]<br/> |
+ | === <translate>Description</translate> === | ||
+ | <translate>Sets the given function as a hook. The string mask and the number count describe when the hook will be called. The string mask may have the following characters, with the given meaning: | ||
"c": the hook is called every time Lua calls a function; | "c": the hook is called every time Lua calls a function; | ||
Line 14: | Line 16: | ||
− | When the hook is called, its first parameter is a string describing the event that has triggered its call: "call", "return" (or "tail return", when simulating a return from a tail call), "line", and "count". For line events, the hook also gets the new line number as its second parameter. Inside a hook, you can call getinfo with level 2 to get more information about the running function (level 0 is the getinfo function, and level 1 is the hook function), unless the event is "tail return". In this case, Lua is only simulating the return, and a call to getinfo will return invalid data. | + | When the hook is called, its first parameter is a string describing the event that has triggered its call: "call", "return" (or "tail return", when simulating a return from a tail call), "line", and "count". For line events, the hook also gets the new line number as its second parameter. Inside a hook, you can call getinfo with level 2 to get more information about the running function (level 0 is the getinfo function, and level 1 is the hook function), unless the event is "tail return". In this case, Lua is only simulating the return, and a call to getinfo will return invalid data.</translate> |
− | < | + | <syntaxhighlight lang="lua"> |
debug.sethook(hook,mask,count) | debug.sethook(hook,mask,count) | ||
− | </ | + | </syntaxhighlight> |
− | '''hook''': (function) function to be executed as hook | + | === <translate>Parameters</translate> === |
− | '''mask''': (string) mask of the hook "c", "r" or "l" | + | '''hook''': (function) <translate>function to be executed as hook</translate> <br/> |
− | '''count''': (number) hook count '''optional'''<br/> | + | '''mask''': (string) <translate>mask of the hook "c", "r" or "l"</translate> <br/> |
+ | '''count''': (number) <translate>hook count</translate> '''optional'''<br/> | ||
+ | |||
+ | {{Debug}} |
Latest revision as of 14:26, 13 July 2023
Available since: Gideros 2011.6
Class: debug
Description
Sets the given function as a hook. The string mask and the number count describe when the hook will be called. The string mask may have the following characters, with the given meaning:
"c": the hook is called every time Lua calls a function; "r": the hook is called every time Lua returns from a function; "l": the hook is called every time Lua enters a new line of code.
With a count different from zero, the hook is called after every count instructions.
When called without arguments, debug.sethook turns off the hook.
When the hook is called, its first parameter is a string describing the event that has triggered its call: "call", "return" (or "tail return", when simulating a return from a tail call), "line", and "count". For line events, the hook also gets the new line number as its second parameter. Inside a hook, you can call getinfo with level 2 to get more information about the running function (level 0 is the getinfo function, and level 1 is the hook function), unless the event is "tail return". In this case, Lua is only simulating the return, and a call to getinfo will return invalid data.
debug.sethook(hook,mask,count)
Parameters
hook: (function) function to be executed as hook
mask: (string) mask of the hook "c", "r" or "l"
count: (number) hook count optional