当前位置: 代码网 > it编程>前端脚本>Lua > Lua中的函数相关知识点整理汇总

Lua中的函数相关知识点整理汇总

2024年05月18日 Lua 我要评论
函数是一组一起执行任务的语句。可以把代码放到独立的函数中。怎么划分代码功能之间的不同,但在逻辑上划分通常是让每个函数执行特定的任务。lua语言提供了程序可以调用大量的内置方法。例如,方法print()

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

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

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

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

在 lua 编程语言的方法定义包括方法头和方法体。这里是方法的所有部件

  •     可选函数适用范围:可以使用关键字本地范围的限制功能或忽略的范围部分,这将使它成为一个全局函数。
  •     函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。
  •     参数:一个参数是像占位符。当调用一个函数,将值传递给参数。这个值被称为实际参数或参数。参数列表是指类型,顺序和数量的方法的参数。参数是可选的;也就是说,方法可能没有参数。
  •     函数体:方法主体包含了定义方法做什么的语句的集合。
  •     返回:在lua中可以通过下面的逗号分隔的返回值,return关键字返回多个值。

例子:

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

函数参数:

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

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

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

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

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

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

分配和传递函数

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

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

函数与变量参数

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

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


(0)

相关文章:

  • Lua内置的调试器用法详解

    Lua内置的调试器用法详解

    lua提供了一个调试库,它提供了所有的基本功能,创造自己的调试器。即便如此,也没有内置的lua调试器,lua为开发者创建很多调试器是开源。调试lua库中可用的功... [阅读全文]
  • 简单讲解Lua中的垃圾回收机制

    简单讲解Lua中的垃圾回收机制

    lua使用基于被内置在lua某些算法的垃圾收集自动内存管理。可以自动内存管理的结果,作为一个开发者: 没有必要担心的对象分配内存。 无需释放他们时,不再... [阅读全文]
  • 浅谈Lua的面向对象特性

    浅谈Lua的面向对象特性

    面向对象的特性 类: 类是可扩展的模板用来创建对象,提供状态的初始值(成员变量)和行为的实现。 对象: 它是类的实例并具有分配给自己独立的内存。 继... [阅读全文]
  • Lua下基本的网络编程示例

    Lua下基本的网络编程示例

    lua是高度灵活的语言,它往往是在多个平台,包括web应用程序中使用。成立2004年的kepler社区提供lua的web组件开放源码。虽然,也有使用lua已经开... [阅读全文]
  • 在Lua程序中使用MySQL的教程

    在Lua程序中使用MySQL的教程

    导入mysql我们可以用一个简单语句导入sqlite库,假设lua中正确实现并已完成。在安装过程中,文件夹libsql包含数据库相关的文件。可变的mysql将提... [阅读全文]
  • 在Lua程序中使用SQLite的教程

    在Lua程序中使用SQLite的教程

    sqlite导入我们可以用一个简单语句导入sqlite库,假设lua中正确实现并已完成。在安装过程中,文件夹libsql包含数据库相关的文件。变量sqlite3... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com