Search results
Results from the WOW.Com Content Network
Marshalling data between C and Lua functions is also done using the stack. To call a Lua function, arguments are pushed onto the stack, and then the lua_call is used to call the actual function. When writing a C function to be directly called from Lua, the arguments are read from the stack. Here is an example of calling a Lua function from C:
Some important things like mw.ustring.gmatch actually return functions, not strings - see Functions below. no such module. You #invoked a module that didn't exist — or wrote #invoke:Module:x instead of #invoke:x. the function specified did not exist. You #invoked a module, but the field after the name of the module is wrong. Often this field ...
While this page doesn't currently have anything to say about semicolons, in Lua code they're generally avoided except when necessary (i.e. a statement ending with a function call is followed by a statement starting with a parenthesized expression) or when multiple statements are on a line.
Help:Lua for beginners; Help:Lua debugging – about debugging Lua modules; Wikipedia:Lua style guide – standards to improve the readability of code through consistency; Module:Sandbox provides a pseudo-namespace for experimenting with Lua modules
Lua output will not be preprocessed unless frame:preprocess() is explicitly called, meaning that template calls, parser functions, etc. in the output will not work correctly. Also, all Lua in the page is limited to 10 seconds CPU time (you can look in the source code of a rendered page to see how long a template or module took to parse).
Scribunto Lua reference manual; Programming in Lua; Introduction to Lua patterns; About regex. Lua "patterns" are based on Regex (Patterns are a reduced set of regex). Help:Lua metamodules: Lua in Wikipedia has several meta-modules available that can make core functions easily available.
Invalid function name: len = string.long(my_str) - The string-length operator is hash mark '#' (as in: #my_str), or use function 'string.len(my_str)' but trying to use unknown function 'string.long(my_str)' will successfully pass during the pre-compile of edit-save, yet it will hit "Script error" when that portion of the Lua script is executed.
The detailed semantics of "the" ternary operator as well as its syntax differs significantly from language to language. A top level distinction from one language to another is whether the expressions permit side effects (as in most procedural languages) and whether the language provides short-circuit evaluation semantics, whereby only the selected expression is evaluated (most standard ...