平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Lua中的函数相关知识点整理汇总”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
从实现思路看,函数是一组一起执行任务的语句。能够把代码放到独立的函数中。怎么划分代码功能之间的不同,但在逻辑上划分通常是让每个函数执行特定的任务。
在这个场景下,Lua语言提供了程序能够调用大量的内置方法。比如,方法print()打印作为输入传参数在控制台中。
函数是已知的各种名称,如方法或子程序或程序等。
定义一个函数
在Lua编程语言中的方法的定义一般形式如下所示:
在 Lua 编程语言的方法定义包括方法头和方法体。这里是方法的所有部件
例子:
结合项目来看,下面是一个函数的源代码调用max()。这个函数有两个参数num1与num2同时得到两者之间的最大值:
if (num1 > num2) then
result = num1;
else
result = num2;
end
return result;
end
函数参数:
理解这一步时,若一个函数采用参数,它必须声明接受的参数值变量。这些变量被函数的形式参数调用。
落到代码里,正式的参数表现得就像在函数内部其他本地变量和在进入函数新建同时在退出时销毁。
调用函数:
理解这一步时,当新建一个Lua函数,给什么样的功能,必须做一个定义。要采用一个方法,将不得不调用该函数来执行定义的任务。
落到代码里,当程序调用一个函数,程序的控制转移到被调用的函数。被调用函数进行定义的任务和在执行它的return语句或当其功能的终端到达时,程序控制得到到主程序。
从实现思路看,而调用只是需传递所需的参数以及方法名的方法,如果方法得到一个值,那么你能够存储得到的值。比如:
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))
当我们运行上面的代码中,将得到下面的输出。
分配和传递函数
实际处理时,在Lua里,我们能够指定函数的变量,也能够将它们作为另一个函数的参数。下面是一个轻松的例子,用来分配Lua传递一个函数作为参数。
function add(num1,num2,functionPrint)
result = num1 + num2
functionPrint(result)
end
myprint(10)
add(2,5,myprint)
当我们运行上面的代码中,将得到下面的输出。
函数与变量参数
能够在Lua中新建一个具有可变参数的函数......作为它的参数。我们能够借助看一个例子,借助可变参数该函数将得到平均值。
print("The average is",average(10,5,3,4,5,6))
当我们运行上面的代码中,将得到下面的输出。