函数是一组一起执行任务的语句。可以把代码放到独立的函数中。怎么划分代码功能之间的不同,但在逻辑上划分通常是让每个函数执行特定的任务。
Lua语言提供了程序可以调用大量的内置方法。例如,方法print()打印作为输入传参数在控制台中。
函数是已知的各种名称,如方法或子程序或程序等。
定义一个函数
在Lua编程语言中的方法的定义一般形式如下:
optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function_body return result_params_comma_separated end
在 Lua 编程语言的方法定义包括方法头和方法体。这里是方法的所有部件
例子:
下面是一个函数的源代码调用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,"##") endfunction 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 endprint("The average is",average(10,5,3,4,5,6))
当我们运行上面的代码中,将得到下面的输出。
The average is 5.5
Java 相关知识点汇总,包括 Java 基础、Java 容器、Java 并发、JVM、编程规范、数据结构与算法、数据库、系统设计、设计模式、数据通信、网站架构、备战面试、Github 榜单。
本文向大家介绍JSON相关知识汇总,包括了JSON相关知识汇总的使用技巧和注意事项,需要的朋友参考一下 JSON:JavaScript 对象表示法(JavaScript Object Notation) JSON 语法规则 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON有6种类型的值: 对象、数组、字符串、数字、布尔值、null JSON对象是一个
本文向大家介绍jQuery中Form相关知识汇总,包括了jQuery中Form相关知识汇总的使用技巧和注意事项,需要的朋友参考一下 form中的单行文本获取和失去焦点 更改多行文本的高度 更改多行文本的滚动条高度 复选框应用
本文向大家介绍Lua中的函数知识总结,包括了Lua中的函数知识总结的使用技巧和注意事项,需要的朋友参考一下 前言 Lua中的函数和C++中的函数的含义是一致的,Lua中的函数格式如下: 在调用函数时,也需要将对应的参数放在一对圆括号中,即使调用函数时没有参数,也必须写出一对空括号。对于这个规则只有一种特殊的例外情况:一个函数若只有一个参数,并且此参数是一个字符串或table构造式,那么圆括号便可以
本文向大家介绍python中的编码知识整理汇总,包括了python中的编码知识整理汇总的使用技巧和注意事项,需要的朋友参考一下 问题 在平时工作中,遇到了这样的错误: 想必大家也都碰到过,很常见 。于是决定对python的编码做一个整理和学习。 基础知识 在python2.x中,有两种数据类型,unicode和str,这两个都是basestring的子类 两者的区别,概括来讲,str是字节串,由u
本文向大家介绍JAVA 枚举相关知识汇总,包括了JAVA 枚举相关知识汇总的使用技巧和注意事项,需要的朋友参考一下 Java 枚举 知识点 概念 enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性。 在Java中,被 enum 关键字修饰的类型就是枚举类型。形式如下: 如果枚举不添加任何方法,枚举值默认为从0开始的有序数值。以 Color 枚举类型举例,它的枚举常量依