1. 函数定义:
-- 定义一个简单的函数
function greet(name)
print("Hello, " .. name .. "!")
end
-- 调用函数
greet("Lua")
2. 匿名函数:
-- 匿名函数赋值给变量
local add = function(a, b)
return a + b
end
-- 调用匿名函数
local result = add(5, 3)
print(result) -- 输出:8
3. 多返回值:
Lua 函数可以返回多个值:
function multipleValues()
return 1, 2, 3
end
local a, b, c = multipleValues()
print(a, b, c) -- 输出:1 2 3
4. 默认参数:
function withDefault(x, y)
y = y or 10 -- 设置默认值
return x + y
end
print(withDefault(5)) -- 输出:15
print(withDefault(5, 7)) -- 输出:12
5. 可变参数:
function variableArguments(...)
local args = {...}
for i, v in ipairs(args) do
print(i, v)
end
end
variableArguments("a", "b", "c")
-- 输出:
-- 1 a
-- 2 b
-- 3 c
6. 闭包:
Lua 支持闭包,即函数可以访问其外部作用域中的变量:
function outerFunction(x)
local y = 5
return function(z)
return x + y + z
end
end
local innerFunc = outerFunction(10)
print(innerFunc(3)) -- 输出:18
7. 尾调用优化:
Lua 支持尾调用优化,即在函数的最后一个动作是调用另一个函数时,不会创建新的调用帧。
function tailCallOptimization(x)
return x * 2
end
print(tailCallOptimization(5)) -- 输出:10
这些是 Lua 函数的基本用法。函数是 Lua 中非常重要的概念,能够使你的代码更模块化、可重用和易于维护。学习如何设计和使用函数将有助于你更好地组织 Lua 代码。
转载请注明出处:http://www.zyzy.cn/article/detail/6491/Lua