función Lua
En Lua, la función es el principal método de declaraciones abstractas y expresiones. Ambos pueden ser utilizados para hacer frente a un trabajo especial, también se puede utilizar para calcular algunos valores.
Lua ofrece muchas funciones incorporadas, puede llamar fácilmente, tales como la función print () puede ser parámetros pasados se imprimen en la consola en el programa.
función Lua Hay dos propósitos principales:
- 1. completar la tarea asignada, en este caso se utiliza como una declaración llamada de función;
- 2. Calcular y devuelve el valor, en cuyo caso la función se utiliza como una expresión de asignación.
definición de la función
funciones del lenguaje de programación Lua definidos en el siguiente formato:
optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function_body return result_params_comma_separated end
resolución:
- optional_function_scope : Este parámetro es función opcional es el desarrollo de una función global o una función local, al final del parámetro no se ajusta a una función global, si es necesario configurar la función es una función parcial tiene que utilizar la palabra clave local.
- function_name: Especificar el nombre de la función.
- argumento1 argumento2, argumento3 ..., argumentn : Los parámetros de función, múltiples parámetros separados por comas, también pueden funcionar sin parámetros.
- function_body: Cuerpo de la función, instrucciones de código de bloques de función necesita ser realizado.
- result_params_comma_separated: valores de retorno de la función, la función del lenguaje Lua pueden devolver múltiples valores, cada uno separado por comas.
Ejemplos
El ejemplo siguiente define una funciónmax (), los parámetros num1, num2, que se utiliza para comparar el tamaño de los dos valores y devuelve el valor máximo:
--[[ 函数返回两个值的最大值 --]] function max(num1, num2) if (num1 > num2) then result = num1; else result = num2; end return result; end -- 调用函数 print("两值比较最大值为 ",max(10,4)) print("两值比较最大值为 ",max(5,6))
El código de seguridad se ejecuta como resultado de:
两值比较最大值为 10 两值比较最大值为 6
Lua que puede funcionar como un parámetro que se pasa a la función, los siguientes ejemplos:
myprint = function(param) print("这是打印函数 - ##",param,"##") end function add(num1,num2,functionPrint) result = num1 + num2 -- 调用传递的函数参数 functionPrint(result) end myprint(10) -- myprint 函数作为参数传递 add(2,5,myprint)
El código de seguridad se ejecuta como resultado de:
这是打印函数 - ## 10 ## 这是打印函数 - ## 7 ##
valores de retorno múltiples
función Lua puede devolver varios valores de resultado, como string.find, que devuelve la cadena coincidente "principio y al final del subíndice" (si no hay retornos cadena de búsqueda nil).
> s, e = string.find("w3big.com", "w3big") > print(s, e) 5 10
función Lua, después de la vuelta vale para devolver una lista de listas pueden devolver múltiples valores, tales como:
function maximum (a) local mi = 1 -- 最大值索引 local m = a[mi] -- 最大值 for i,val in ipairs(a) do if val > m then mi = i m = val end end return m, mi end print(maximum({8,10,23,12,5}))
El código de seguridad se ejecuta como resultado de:
23 3
parámetro variable
función Lua puede aceptar un número variable de argumentos, y el lenguaje C similar al uso de una lista de parámetros de función de tres puntos (...) denota una función con parámetros variables.
parámetros de la función Lua en una tabla llamada arg, #arg representa el número de parámetros pasados.
Por ejemplo, se calcula el promedio de algunos números:
function average(...) result = 0 local arg={...} for i,v in ipairs(arg) do result = result + v end print("总共传入 " .. #arg .. " 个数") return result/#arg end print("平均值为",average(10,5,3,4,5,6))
El código de seguridad se ejecuta como resultado de:
总共传入 6 个数 平均值为 5.5