UsefulLinks
Computer Science
Programming
By Language
Lua Programming
1. Introduction to Lua
2. Lua Language Fundamentals
3. Control Flow Structures
4. Functions
5. Tables: Lua's Primary Data Structure
6. Metatables and Metamethods
7. Modules and Package Management
8. Error Handling and Debugging
9. Advanced Language Features
10. Object-Oriented Programming Patterns
11. Standard Library Overview
12. C API Integration
13. Lua Ecosystem and Tools
4.
Functions
4.1.
Function Definition and Declaration
4.1.1.
Function Declaration Syntax
4.1.2.
Function Names and Identifiers
4.1.3.
Anonymous Functions
4.1.4.
Function Assignment to Variables
4.2.
Function Parameters and Arguments
4.2.1.
Fixed Parameters
4.2.1.1.
Positional Parameters
4.2.1.2.
Parameter Matching
4.2.2.
Default Parameter Values
4.2.2.1.
Using Or Operator for Defaults
4.2.3.
Variable Arguments
4.2.3.1.
Variadic Function Syntax
4.2.3.2.
Accessing Variable Arguments
4.2.3.3.
The Select Function
4.3.
Return Values
4.3.1.
Single Return Values
4.3.2.
Multiple Return Values
4.3.2.1.
Returning Multiple Values
4.3.2.2.
Receiving Multiple Values
4.3.2.3.
Adjusting Return Value Count
4.4.
Functions as First-Class Citizens
4.4.1.
Assigning Functions to Variables
4.4.2.
Passing Functions as Arguments
4.4.3.
Returning Functions from Functions
4.4.4.
Higher-Order Functions
4.5.
Closures and Lexical Scoping
4.5.1.
Capturing Local Variables
4.5.2.
Upvalues
4.5.3.
Persistent State in Closures
4.5.4.
Closure Applications
4.6.
Tail Call Optimization
4.6.1.
Tail Call Definition
4.6.2.
Proper Tail Calls
4.6.3.
Benefits and Use Cases
Previous
3. Control Flow Structures
Go to top
Next
5. Tables: Lua's Primary Data Structure