求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 

Lua 教程
Lua开发环境
Lua基本语法
Lua变量
Lua数据类型
Lua运算符
Lua循环
Lua决策
Lua函数
Lua字符串
Lua数组
Lua迭代器
Lua表格
Lua模块
Lua元表
Lua协同程序
Lua文件I/O
Lua错误处理
Lua 高级教程
Lua调试
Lua垃圾收集
Lua面向对象
Lua Web编程
Lua数据库/MYSQL操作
Lua游戏编程
Lua标准库
 
 

Lua函数
81 次浏览
18次
 捐助

函数是一组一起执行任务的语句。可以把代码放到独立的函数中。怎么划分代码功能之间的不同,但在逻辑上划分通常是让每个函数执行特定的任务。

Lua语言提供了程序可以调用大量的内置方法。例如,方法print()打印作为输入传参数在控制台中。

函数是已知的各种名称,如方法或子程序或程序等。

定义一个函数

在Lua编程语言中的方法的定义一般形式如下:

optional_function_scope function function_name
( argument1, argument2, argument3..., argumentn)
function_body
return result_params_comma_separated
end

在 Lua 编程语言的方法定义包括方法头和方法体。

这里是方法的所有部件:

可选函数适用范围:可以使用关键字本地范围的限制功能或忽略的范围部分,这将使它成为一个全局函数。

函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。

参数:一个参数是像占位符。当调用一个函数,将值传递给参数。这个值被称为实际参数或参数。参数列表是指类型,顺序和数量的方法的参数。参数是可选的;也就是说,方法可能没有参数。

函数体:方法主体包含了定义方法做什么的语句的集合。

返回:在Lua中可以通过下面的逗号分隔的返回值,return关键字返回多个值。

例子:

下面是一个函数的源代码调用max()。这个函数有两个参数num1与num2并返回两者之间的最大值:

--[[ function returning the max between two numbers --]]
function max(num1, num2) if (num1 > num2) then
result = num1;
else
result = num2;
end return result;
end

函数参数:

如果一个函数使用参数,它必须声明接受的参数值变量。这些变量被函数的形式参数调用。

正式的参数表现得就像在函数内部其他本地变量和在进入函数创建并在退出时销毁。

调用函数:

当创建一个Lua函数,给什么样的功能,必须做一个定义。要使用一个方法,将不得不调用该函数来执行定义的任务。

当程序调用一个函数,程序的控制转移到被调用的函数。被调用函数进行定义的任务和在执行它的return语句或当其功能的终端到达时,程序控制返回到主程序。

而调用只是需要传递所需的参数以及方法名的方法,如果方法返回一个值,那么你可以存储返回的值。例如:

function max(num1, num2)
if (num1 > num2) then
result = num1;
else
result = num2;
end return result;
end -- calling a function
print("The maximum of the two numbers is ",max(10,4))
print("The maximum of the two numbers is ",max(5,6))

当我们运行上面的代码中,将得到下面的输出。

The maximum of the two numbers is 	10
The maximum of the two numbers is 6

分配和传递函数

在Lua中,我们可以指定函数的变量,也可以将它们作为另一个函数的参数。下面是一个简单的例子,用来分配Lua传递一个函数作为参数。

myprint = function(param)
print("This is my print function - ##",param,"##")
end function add(num1,num2,functionPrint)
result = num1 + num2
functionPrint(result)
end
myprint(10)
add(2,5,myprint)

当我们运行上面的代码中,将得到下面的输出。

This is my print function -   ##	10	##
This is my print function - ## 7 ##

函数与变量参数

可以在Lua中创建一个具有可变参数的函数......作为它的参数。我们可以通过看一个例子,利用可变参数该函数将返回平均值。

function average(...)
result = 0
local arg={...}
for i,v in ipairs(arg) do
result = result + v
end
return result/#arg
end print("The average is",average(10,5,3,4,5,6))

当我们运行上面的代码中,将得到下面的输出。

The average is	5.5

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



81 次浏览
18次
 捐助
 

每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
 

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号