hand
_1_34_26
4
返回栏目
1k
2k
1k
2k
1k
1k
2k
2k
2k
2k
2k
2k
3k
3k
2k
2k
2k
1k
2k
2k
2k
2k
2k
2k
2k
2k
1k
1k
1k
2k
1k
1k
2k
1k
2k
2k
2k
2k
2k
2k
2k
1k
2k
2k
2k
2k
2k
3k
2k
2k
6k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
2k
2k
2k
3k
3k
3k
1k
3k
3k
5k
2k
2k
2k
1k
1k
2k
2k
1k
1k
1k
2k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
2k
2k
3k
3k
2k
2k
2k
2k
4k
2k
3k
2k
3k
2k
3k
2k
3k
2k
2k
2k
3k
返回Lua栏目
作者:
贺及楼
成为作者
更新日期:2025-02-27 21:45:32
在 Lua 编程语言中,函数是一种非常重要的概念,它可以将一段代码封装起来,以便多次调用。函数的参数和返回值是函数与外部交互的重要方式,本文将详细介绍 Lua 中函数如何接收参数以及返回结果。
在 Lua 中,函数的基本定义语法如下:
function function_name(parameters)
-- 函数体
return return_values
end
function_name
:函数的名称,用于调用该函数。parameters
:函数的参数列表,多个参数之间用逗号分隔。return_values
:函数的返回值,多个返回值之间也用逗号分隔。有些函数不需要接收任何参数,它们执行固定的操作。以下是一个简单的无参数函数示例:
function say_hello()
print("Hello!")
end
say_hello() -- 调用函数
在这个例子中,say_hello
函数不接收任何参数,它只是简单地打印出 “Hello!”。
函数可以接收一个参数,用于执行与该参数相关的操作。以下是一个接收单个参数的函数示例:
function print_number(num)
print("The number is: ".. num)
end
print_number(10) -- 调用函数并传递参数 10
在这个例子中,print_number
函数接收一个参数 num
,并将其打印出来。
函数也可以接收多个参数,用于执行更复杂的操作。以下是一个接收多个参数的函数示例:
function add_numbers(a, b)
local sum = a + b
print("The sum of ".. a.. " and ".. b.. " is: ".. sum)
end
add_numbers(3, 5) -- 调用函数并传递两个参数 3 和 5
在这个例子中,add_numbers
函数接收两个参数 a
和 b
,并计算它们的和,最后将结果打印出来。
Lua 还支持可变参数函数,即函数可以接收任意数量的参数。可变参数使用 ...
表示。以下是一个可变参数函数示例:
function sum(...)
local args = {...}
local total = 0
for i, v in ipairs(args) do
total = total + v
end
return total
end
local result = sum(1, 2, 3, 4, 5)
print("The sum is: ".. result)
在这个例子中,sum
函数接收任意数量的参数,并计算它们的总和。
函数可以返回单个值,用于将计算结果传递给调用者。以下是一个返回单个值的函数示例:
function square(num)
return num * num
end
local result = square(4)
print("The square of 4 is: ".. result)
在这个例子中,square
函数接收一个参数 num
,并返回其平方值。
Lua 支持函数返回多个值,这在很多情况下非常方便。以下是一个返回多个值的函数示例:
function get_name_and_age()
return "John", 25
end
local name, age = get_name_and_age()
print("Name: ".. name.. ", Age: ".. age)
在这个例子中,get_name_and_age
函数返回两个值:姓名和年龄。
当函数返回多个值时,调用者可以选择只接收部分返回值。以下是一个示例:
function get_info()
return "Alice", 30, "Engineer"
end
local name, _ = get_info() -- 使用 _ 忽略第二个返回值
print("Name: ".. name)
在这个例子中,调用者只接收了第一个返回值,忽略了第二个返回值。
类型 | 示例代码 | 说明 |
---|---|---|
无参数函数 | function say_hello() print("Hello!") end |
不接收任何参数,执行固定操作 |
单个参数函数 | function print_number(num) print("The number is: ".. num) end |
接收一个参数,执行与该参数相关的操作 |
多个参数函数 | function add_numbers(a, b) local sum = a + b print("The sum is: ".. sum) end |
接收多个参数,执行更复杂的操作 |
可变参数函数 | function sum(...) local args = {...} local total = 0 for i, v in ipairs(args) do total = total + v end return total end |
接收任意数量的参数 |
单个返回值 | function square(num) return num * num end |
返回单个计算结果 |
多个返回值 | function get_name_and_age() return "John", 25 end |
返回多个值 |
部分接收返回值 | local name, _ = get_info() |
只接收部分返回值,忽略其他返回值 |
通过合理使用函数的参数和返回值,我们可以编写出更加模块化、可复用的 Lua 代码。希望本文对你理解 Lua 函数的参数与返回值有所帮助。
Lua
整章节共127节
快分享给你的小伙伴吧 ~