Lua - 函数 In 战利商城 @2025-12-11 17:18:12
上一节: Lua - 嵌套 if 语句
上一节
下一节: Lua - 字符串
下一节
Lua - 函数
简述
函数是一组一起执行任务的语句。您可以将代码划分为单独的函数。如何在不同功能之间划分代码取决于您,但从逻辑上讲,划分通常是唯一的,因此每个功能执行特定任务。
Lua 语言提供了许多您的程序可以调用的内置方法。例如,方法print() 打印在控制台中作为输入传递的参数。
函数具有各种名称,例如方法、子例程或过程等。
定义函数
Lua 编程语言中方法定义的一般形式如下 -
optional_function_scope function function_name( argument1, argument2, argument3........,
argumentn)
function_body
return result_params_comma_separated
end
Lua 编程语言中的方法定义由方法头和方法体组成。以下是方法的所有部分 -
Optional Function Scope- 您可以使用关键字local来限制函数的作用域或忽略作用域部分,这将使其成为全局函数。
Function Name- 这是函数的实际名称。函数名和参数列表共同构成了函数签名。
Arguments- 一个参数就像一个占位符。当一个函数被调用时,你将一个值传递给参数。该值称为实际参数或实参。参数列表是指方法参数的类型、顺序和数量。参数是可选的;也就是说,一个方法可能不包含任何参数。
Function Body − 方法体包含一组定义方法功能的语句。
Return − 在 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
函数参数
如果一个函数要使用参数,它必须声明接受参数值的变量。这些变量被称为formal parameters 的功能。
形参就像函数内部的其他局部变量一样,在进入函数时创建,在退出时销毁。
调用函数
在创建 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
上一节: Lua - 嵌套 if 语句
上一节
下一节: Lua - 字符串
下一节
查看笔记 分享笔记
笔记内容:
称呼:
Email:
站点:
分享笔记 重置
分类导航
前端
Ajax 教程
Angular 教程
Aurelia 教程
Bootstrap 教程
ChartJS 教程
CSS 教程
ES6 教程
FontAwesome 教程
HTML 教程
HTML 字符集 教程
HTML 游戏 教程
JavaScript 教程
jQuery 教程
Less 教程
React 教程
Sass 教程
Stylus 教程
TypeScript 教程
Unity 教程
Vue.js 教程
WebAssembly 教程
XAML 教程
颜色 教程
服务端
C# 教程
C++ 教程
COBOL 教程
C语言 教程
Fortran 教程
Go 教程
Groovy 教程
Java 教程
JSP 教程
JVM 教程
Kotlin 教程
Lisp 教程
Lua 教程
Node.js 教程
Pascal 教程
Perl 教程
PHP 教程
Python 教程
Python 3 教程
Ruby 教程
Rust 教程
Scala 教程
Spring 教程
Spring Boot 教程
Spring Cloud 教程
VB.Net 教程
移动端
Android 教程
IOS 教程
Objective-C 教程
React Native 教程
Swift 教程
小程序 教程
数据库
Access 教程
DB2 教程
Mariadb 教程
Memcached 教程
MongoDB 教程
MySQL 教程
Neo4j 教程
PL/SQL 教程
PostgreSQL 教程
Redis 教程
SQL 教程
SQL Server 教程
SQLite 教程
T-SQL 教程
数据格式
Jackson 教程
JSON 教程
SVG 教程
XML 教程
开发工具
ActiveMQ 教程
Ant 教程
Apache HttpClient 教程
Apache POI PPT 教程
AWS 教程
Docker 教程
ElasticSearch 教程
ExpressJS 教程
GIT 教程
GitLab 教程
Google Maps 教程
Gradle 教程
Java NIO 教程
JavaFX 教程
JavaMail 教程
JDBC 教程
jMeter 教程
JPA 教程
jsoup 教程
Junit 教程
KoaJS 教程
Kubernetes 教程
Log4j 教程
Logstash 教程
Lucene 教程
Makefile 教程
Maven 教程
RESTful 教程
Sed 教程
SEO 教程
Servlet 教程
SLF4J 教程
Socket.IO 教程
Struts 教程
SVN 教程
TestNG 教程
UML 教程
UNIX / LINUX 教程
WebSocket 教程
WPF 教程
xStream 教程
区块链 教程
数据处理
Flink 教程
Flume 教程
Hadoop 教程
Hbase 教程
Hive 教程
Kafka 教程
Kibana 教程
MapReduce 教程
MATLAB 教程
MyBatis 教程
Pig 教程
R语言 教程
Solr 教程
Spark 教程
Storm 教程
Zookeeper 教程
大数据分析 教程
数据仓库 教程
数据挖掘 教程
计算机基础
HTTP 教程
IPv4 教程
IPv6 教程
Ubantu 教程
WebServices 教程
嵌入式系统 教程
操作系统 教程
数据结构和算法 教程
汇编语言 教程
物联网 教程
电子电路基础 教程
编译器设计 教程
网站开发 教程
计算机 教程
计算机基础 教程
计算机网络 教程
设计模式 教程
AI
CNTK 教程
Keras 教程
PyTorch 教程
TensorFlow 教程
人工智能 教程
机器学习 教程
Python 技术
Django 教程
Flask 教程
NumPy 教程
Pandas 教程
Pillow 教程
PyGTK 教程
PyQt5 教程
PySpark 教程
pytest 教程
Python -数据科学 教程
Python MySQL 教程
Python 取证 教程
Python 数据结构 教程
Python 文本处理 教程
Python 网络编程 教程
Python 网页抓取 教程
Python 设计模式 教程
RxPY 教程
SciPy 教程
Seaborn 教程
SymPy 教程
wxPython 教程
框架
Laravel 教程
Web 图标Icon 教程
Web2py 教程
WebGL 教程
WebRTC 教程
WordPress 教程
Yii 教程
Zend Framework 教程
SAP
Crystal Reports 教程